在 jQuery 中编辑行和动态 id 问题?

发布于 2024-10-08 15:41:52 字数 435 浏览 3 评论 0原文

该表处于循环中。也就是说行数是动态的。

<tr id="data">
    <td><input name="cb" type="checkbox" value="val"></td>
    <td>var 1</td>
    <td>var 2</td>
    <td>var 3</td>
</tr>

一个编辑按钮:

<input type="submit" value="edit" id="edit">

每一行都有一个复选框。单击该复选框后,整行应处于编辑模式。我尝试了很多方法,但离结果还很远。我遇到的第二个问题是 id 问题。因为行是动态的所以......

This table is in the loop. That is number of rows is dynamic.

<tr id="data">
    <td><input name="cb" type="checkbox" value="val"></td>
    <td>var 1</td>
    <td>var 2</td>
    <td>var 3</td>
</tr>

One edit button:

<input type="submit" value="edit" id="edit">

Each row has a checkbox. On click of the checkbox the entire row should be in the edit mode. I tried a lot of ways but still far away from the result. The second issue I faced is the id issue. Because the rows are dynamic so...

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

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

发布评论

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

评论(3

洒一地阳光 2024-10-15 15:41:52

可能您正在寻找的是这个,它使用一个名为“contentEditable”属性的东西,该属性可以编辑 HTML 文档:

http://valums.com/edit-in-place/

可以在此处找到更多信息:http://msdn.microsoft.com/en-us/library/ms537837%28v=vs.85%29.aspx

Probably what you are looking for is this, it uses a thing called "contentEditable" property, which enables editing HTML documents:

http://valums.com/edit-in-place/

More info can be found here: http://msdn.microsoft.com/en-us/library/ms537837%28v=vs.85%29.aspx

倾城花音 2024-10-15 15:41:52

你说

该表正在循环中...

但您也有

<tr id="data">

id必须在文档中是唯一的,因此您必须对其进行修改以不使用id

但您不需要每行都有 id。您可以这样做:

$('selector_for_the_table tr input[type=checkbox]').change(function() {

    var row = $(this).closest('tr');
    if (this.checked) {
        // make the row editable
    }
    else {
        // make the row uneditable
    }
});

实例

You say

This table is in the loop...

but you also have

<tr id="data">

id values must be unique within the document, so you'll have to modify that to not use ids.

But you don't need an id on each row. You can do this:

$('selector_for_the_table tr input[type=checkbox]').change(function() {

    var row = $(this).closest('tr');
    if (this.checked) {
        // make the row editable
    }
    else {
        // make the row uneditable
    }
});

Live example

浮华 2024-10-15 15:41:52
$("input[name=checkbox_name").bind('onchange',function(){
$(this).parent('tr').html();//This line fetch current tr to edit 
}); 
$("input[name=checkbox_name").bind('onchange',function(){
$(this).parent('tr').html();//This line fetch current tr to edit 
}); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文