<table>
<tr><th></th><th>Area 1</th></tr>
<tr><td>Company A</td><td><input type="text" name="text1" id="text1"></td></tr>
<tr><td>Company B</td><td><input type="text" name="text2" id="text2"></td></tr>
<tr><td>Company C</td><td><input type="text" name="text3" id="text3"></td></tr>
<tr><td>Company D</td><td><input type="text" name="text4" id="text4"></td></tr>
</table>
giriş alanları zorunlu değildir ve 1'den 4'e kadar tamsayı olmalıdır (varsayalım çoğaltmaları vardır),
kullanıcı sıralama sırasına atlayamaz; bu, sıralamanın benzersiz ve sürekli olması gerektiği anlamına gelir.
Örneğin, * Biz girdi 1
, 3
can, 2
yanı sıra 4
, 2
, 1
, 3
.
Ancak, girdi 3
, 1
gibi olduğunda, 2
eksik uyarısı gerekiyor.
3
girdiğimizde, her ikisi de 1
ve 2
eksiklerini uyarmalıyız. İşte
function checkMissingRank(object){
object.change(function() {
var max = 0;
var actSum = 0;
var rows = object.length;
for(var i=1 ; i<=rows ; i++){
if($('#text'+i+'').val() != ""){
var actVal = parseInt($('#text'+i+'').val());
//The actual sum of the values
actSum = actSum + actVal;
if(actVal>max){
//Use the max to calculate the total sum should be
max=actVal;
}
}
}
//The total sum should be
totalSum = ((1+max)*max)/2;
//The difference is the missing value
var missVal = totalSum - actSum;
if(missVal != 0){
alert("Ranking "+missVal+" is missing.");
}
});
}
checkMissingRank($('input[name^="text"]'));
ama eksik 2 değeri (1
, 2
) varken, sadece (3 toplamını döndürür) Bunu nasıl geliştirebilirim?
kısa bir soru, ne demek Burada yaklaşık 1,3,2 ve 4,2,1,3 geçerlidir ve 3,1 geçersizdir! – ameenulla0007
@ ameenulla0007 fark ederseniz, '' 2'de – user3368506
eksik bile 1,3,2 sayı 4 eksik! – ameenulla0007