2012-02-05 103 views
1

我需要更新表中的某一行錶行,已經做了「驗證」,以確保1名編輯時複選框被點擊其他一些按鈕後檢查, 到目前爲止,我寫的東西,如:更新使用jQuery

$("#btnsavechanges").click(function(){ 


     $("#meetingspanel tr td").find(":checked").parent().parent().children.eq(0).append(document.getElementById("modsub").value); 
     $("#meetingspanel tr td").find(":checked").parent().parent().children.eq(2).append(document.getElementById("modwhere").value); 
     $("#meetingspanel tr td").find(":checked").parent().parent().children.eq(3).append(document.getElementById("modwhen").value); 
     $("#meetingspanel tr td").find(":checked").parent().parent().children.eq(4).append(document.getElementById("modtime").value); 
     $("#meetingspanel tr td").find(":checked").parent().parent().children.eq(5).append(document.getElementById("modwho").value); 
     $("#tblmod").fadeOut("slow"); 


    }); 

通知Meetingspanel是我的桌子,所有這些Modsubject等都是我的文本框。 和tblmod是所有文本框和更新按鈕的表格。 感謝

<table id='tblmod' width='80%' align='center' > 
<tr bgcolor='white'> 
<td width='15%'> 
Enter Subject<input type="text" id="modsubject" width="15%"> 
</td> 
<td width='15%'> 
Enter Location<input type="text" id="modwhere" width="15%"> 
</td> 
<td width='15%'> 
Enter When<input type="text" id="modwhen" width="15%"> 
</td> 
<td width='15%'> 
Enter Time<input type="text" id="modtime" width="15%"> 
</td> 
<td width='15%'> 
Enter With Who<input type="text" id="modwho" width="15%"> 
</td> 
</tr> 
<tr><th align="right" style=border-width:0px><button type="button" id="btnsavechanges" value="Save New Changes" >Save Changes</button></th></tr> 
</table> 
+0

那麼問題是什麼?你有什麼嘗試? – j08691 2012-02-05 20:28:26

+0

問題是,它沒有工作......我沒有寫對吧,我猜...沒有任何反應......在第一排之後出現警報並且它不會到達那裏! – 2012-02-05 20:43:02

+0

你的桌子是什麼樣的? – Rahul 2012-02-05 20:52:55

回答

0

不知道你的標記,或者你正在嘗試做的徹底,我只能在你的代碼指出的錯誤是什麼。

  1. 您正在使用children爲這是一種功能,因此使用它像功能children()屬性。

  2. 而不是使用parent().parent()你可以使用closest('tr')

  3. 如果要更新輸入元素的值使用val()方法,append將不起作用。

  4. 如果元素有一個id,則使用id選擇器而不是使用document.getElementById()。這隻會減少你的代碼沒有太大的區別。