更新表行,jQuery

时间:2012-02-06 11:15:08

标签: jquery html-table row

我需要更新表格中的某一行,已经执行了“验证器”以确保在单击其他按钮后选中复选框时进行1行编辑,到目前为止我写了类似的内容:

$("#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");


});

表格如下:

<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>

1 个答案:

答案 0 :(得分:1)

我建议使用数据绑定框架。我最近一直在使用knockoutjs,我喜欢它。使用Knockout时,我编写的用于执行复杂UI的代码量要小得多。

基本上,您只需向元素添加data-bind属性即可绑定HTML。然后,当有人更改某个值时,会立即在您的viewmodel中更新它。如果您从AJAX请求中提取新数据,它也会更新您的UI。

此处有更多信息:http://knockoutjs.com/

我强烈建议这样做,因为它可以帮助您编写更清晰,更易于管理的代码,并且速度更快。通过按照要求“手动”处理所有内容,您将“重新发明轮子”。