2013-10-11 22 views
0

嗨,我已經從前一篇文章修復了此表單。使用jquery更新當前行中的值

<form id="eForm" action=""> 
    <table class="fMain" border="1" cellpadding="0" cellspacing="0"> 
     <tbody>   
      <tr class="ist"> 
       <td>In work</td> 
       <td>09/25/2013</td> 
       <td><input type="text" value="3500.00" name="salesS" class="totalS fo" readonly=""></td>     
       <td ><input type="text" value="23.00" name="cusS" class="cusS form-field-tiny readonly" readonly=""></td> 
       <td>0.66%</td>           
      </tr> 
      <tr class="ist"> 
       <td>In work</td> 
       <td>09/25/2013</td> 
       <td><input type="text" value="2445.00" name="salesS" class="totalS fo" readonly=""></td>     
       <td ><input type="text" value="444.00" name="cusS" class="cusS form-field-tiny readonly" readonly=""></td> 
       <td>0.66%</td>      
      </tr>        
     </tbody> 
    </table> 
</form> 

我正在使用以下jQuery做一些格式。

$('.eForm tr.ist').each(function() { 
    var num = $(this).find('#salesS').val(); 
    var cNum = $(this).find('#cusS').val(); 
    alert(num); 
    alert(cNum); 
    document.getElementById('salesS').value = pC(num); 
    document.getElementById('cusS').value = pC(cNum); 
}); 

它工作正常所有的值都處理得很好。但是當它使用 更新這些值時,它不會更新當前行。它只是更新第一行。

document.getElementById('salesS').value = pC(num); 
document.getElementById('cusS').value = pC(cNum); 

我想這

$(this).find('#cusS').val()=pC(num); 

它沒有工作。請讓我知道如何修復它,以便更新當前行中的值。謝謝

+1

難道你不是指'$('#eForm tr.ist')each' – anishthecoder

回答

0

你的jQuery是非常錯誤的。這裏的原因:

$('.eForm tr.fMain').each(function() { // YOU GOT NO TR WITH THAT CLASS, It'S A TABLE 

    var num = $(this).find('#salesS').val(); // YOU GOT NO ELEMENT WITH "salesS" ID 
    var cNum = $(this).find('#cusS').val();// YOU GOT NO ELEMENT WITH "cusS" ID 
    alert(num); 
    alert(cNum); 
    document.getElementById('salesS').value = pC(num); 
    document.getElementById('cusS').value = pC(cNum); 
}); 

這段代碼是錯誤太:

$(this).find('#cusS').val()=pC(num); 

這可能是這樣是有效的(如果你有cus5 ID輸入

$(this).find('#cusS').val(pC(num)); 

現在你可能想要的是:

$('.eForm tr.ist').each(function() { 
    var inputSales = $(this).find('input[name=salesS]'); 
    var inputCus = $(this).find('input[name=cusS]'); 
    inputSales.val(pC(inputSales.val()); 
    inputCus.val(pC(inputCus.val()); 
}); 
+0

感謝您的糾正。它運行良好,但只有第一行更新兩次。即使它讀取所有行值,但最後一行值僅在第一行更新。 –

+0

@ J.Davidson看到我的編輯 – Shikiryu

+0

它給出了錯誤,說inputSales.val不是一個函數 –