【问题标题】:Updating a table row, jQuery更新表格行,jQuery
【发布时间】:2012-02-27 21:05:31
【问题描述】:

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

【问题讨论】:

  • 你需要解释你尝试了什么,你发现了什么错误,你的问题实际上是什么,你的表格更新 html+js 是什么样的。
  • 我正在尝试使用下表中的数据更新表中的一行。什么也没有发生。那就是问题..没有编译器/调试器错误..使用 eclipse 4.1。

标签: jquery html-table row


【解决方案1】:

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

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

更多信息在这里:http://knockoutjs.com/

我强烈建议您这样做,因为它可以帮助您编写更简洁、更易于管理的代码,并且速度更快。您将按照您的要求“手动”处理所有事情,从而“重新发明轮子”。

【讨论】:

  • 我是 jQuery 的初学者,所以如果在 jQuery 中没有办法做到这一点,请尝试你的建议。我真的很想保持在我目前设定的界限之间。非常感谢。
  • @OriGavrielRefael 绝对可以只使用 jQuery 来完成,只是要覆盖所有极端情况会更加困难。相反,像 Knockout 这样的框架会为您处理这些问题。我理解不愿意一次承担太多新事物,但是,我认为你最好现在学习它。顺便说一句,jQuery 和 Knockout 是完全兼容的。它们旨在解决非常不同的问题。 Knockout 是数据绑定,jQuery 是处理 DOM 操作和跨浏览器合规性的低级 API。
  • @OriGavrielRefael Eclipse 的工作原理是什么?您是否使用 Eclipse 作为 IDE 来编写 JS/jQuery 的目的?
  • 是的,我正在使用 Eclipse。我想知道 Eclipse 是否支持 Knockout ..我的意思是是否有办法在 Eclipse 4.1 和 Knockout 或类似的东西之间添加引用?
  • @OriGavrielRefael 我只使用 Eclipse 进行 Android 开发。我将 gedit/vim 用于其他所有内容,因此,在 Android 之后,我对它并不熟悉。 Knockoutjs 只是一个 javascript 库,您可以像 jQuery 一样包含它。应该不需要任何特殊的支持。
猜你喜欢
  • 2013-06-07
  • 2011-11-28
  • 1970-01-01
  • 2017-03-31
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
  • 2015-03-19
  • 2012-02-27
相关资源
最近更新 更多