2012-10-19 70 views
1

您好,這是我第二次嘗試使用JQuery來解決這個問題
我需要檢查一行輸入必須小於同一行中其他行的輸入,以顯示「n」行的動態表,以前送我的形式...我需要使用輸入「ID」屬性由行檢查排...使用JQuery驗證輸入框

這裏我的代碼:http://jsfiddle.net/cespinoza/bQcu2/36/

<form > 
Line 1 Get <input type="val1" name="text1" id="desp" /> from <input type="val1" name="text1" id="cantidad" /><br> 
Line 2 Get <input type="val2" name="text2" id="desp" /> from <input type="val2" name="text2" id="cantidad" /><br> 
Line 3 Get <input type="val3" name="text3" id="desp" /> from <input type="val3" name="text3" id="cantidad" /><br> 

    <button type="submit">Submit</button> 

</form> 

編輯:增加了原始的JS代碼

$('#desp').change(function(){ 

    if($('#desp').val() == $('#cantidad').val()) 
    { 
    alert("First value is greater than second, sorry") 
    return False; 
    } 
    else 
    { 

    alert("All ok, push to database") 
    return True, 
    } 

}); 

在此先感謝。基督徒。

+0

你的意思是每個輸入都像10,8,3一樣小些? –

+1

ID必須是唯一的 – atmd

+1

使用ID選擇器只會讓你找到第一個元素,如果你需要多個 –

回答

1

我終於能夠解決這一問題的數n值,還是要謝謝你......

這是解決方案:

function validar(obj,i){ 
     var1=Number(obj.value); 
     var2=Number(document.getElementById("saldo"+i).value); 

     if (var1>var2) {   
      obj.focus(); 
      alert("No puede Retirar mas del saldo existente"); 

      } 

} 

Line 1 Get <input type="val1" name="text1" id="des1" onblur="validar(this,1);" /> from <input type="val1" name="text1" value="10" id="saldo1" /><br> 
Line 2 Get <input type="val2" name="text2" id="des2" onblur="validar(this,2);" /> from <input type="val2" name="text2" id="saldo2" value="10" /><br> 
Line 3 Get <input type="val3" name="text3" id="des3" onblur="validar(this,3);"/> from <input type="val3" name="text3" id="saldo3" value="10"/><br> 
+1

+1這個明確和獨立的答案。但是,我對你的問題給出了-1,因爲你沒有這樣做。如果您可以將原始JavaScript添加到原始問題中,我將刪除我的倒票。 – Sparky

+0

補充,對不起延遲Sparky672 – chespinoza

+0

沒問題...我收回了。 – Sparky

-1
<form > 
Line 1 Get <input type="val1" name="text1" id="desp1" /> from <input type="val1" name="text1" id="cantidad1" /><br> 
Line 2 Get <input type="val2" name="text2" id="desp2" /> from <input type="val2" name="text2" id="cantidad2" /><br> 
Line 3 Get <input type="val3" name="text3" id="desp2" /> from <input type="val3" name="text3" id="cantidad3" /><br> 

    <button type="submit">Submit</button> 
$('#desp').change(function(){ 
var j; 
    for(i=1;i<n;i++){ 
    if($('#desp'+i).val() == $('#cantidad'+i).val()) 
    { 
    alert("First value is greater than second at line"+i); 
    return False; 
    } 
    else 
    { 
     j++ 
    } 
} 
if(n=j) 
{ 
alert('all is well'); 
return false; 
} 

}); 

你應該得到基於線

+0

您的解決方案無法工作。 1.現在「id」名稱已被修復,$('#desp')'元素在哪裏?你的第一個條件似乎是倒退了。如果他們是平等的,你的消息說一個更大。 3.有更好的方法來處理'n'的值或執行循環 - 參見'.each()'。 – Sparky