更新表行,jQuery

发布于 2025-01-02 10:46:31 字数 1661 浏览 0 评论 0原文

我需要更新表中的某一行,已经做了“验证器”以确保在单击其他按钮后选中复选框时进行 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>

I need to update a certain row in table, already did "validators" to assure 1 row edit when checkbox is checked after clicking some other button, so far i wrote something like:

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


});

The table looks like this:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃素的狼 2025-01-09 10:46:31

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

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

更多信息请参见:http://knockoutjs.com/

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

I would recommend using a data-binding framework. I have been using knockoutjs recently and I like it. The amount of code I write to do complicated UIs is far smaller when using Knockout.

Basically, you would bind the HTML by just adding a data-bind property to the element. Then, when someone changes a value, it is immediately updated in your viewmodel. If you pull in new data from an AJAX request, it will update your UI too.

More info here: http://knockoutjs.com/

I strongly suggest this as it will help you write cleaner, more manageable code, and do so faster. You are going to be "reinventing the wheel" by handling everything "manually" as you are asking to do.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文