首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jQuery在HTML表的同一行中找到特定的文本框?

如何使用jQuery在HTML表的同一行中找到特定的文本框?
EN

Stack Overflow用户
提问于 2013-07-20 01:16:44
回答 2查看 1.3K关注 0票数 2

我希望有人能帮我。这似乎是容易的,但我一直未能找到解决办法。

我有张桌子看起来像这样:

我将一个javascript函数附加到极左的onclick控件的CheckBox事件处理程序中。这是我的javascript:

代码语言:javascript
复制
// Toggle row colors when a "N/A" checkbox is clicked.
function handleNAClick(cb) {
    if ($(cb).parent().parent().hasClass('silver')) {
        $(cb).parent().parent().removeClass('silver').addClass('white');
    }
    else {
        $(cb).parent().parent().removeClass('white').addClass('silver');
    }
}

此函数在单击CheckBox时切换行颜色。

如果单击了TextBox,我想要做的也是启用/禁用行最右边的CheckBox

这个表是动态生成的,我不知道控件的ID。

正如您所看到的,我已经可以获得表行的句柄并更改颜色,但由于某些原因,我无法弄清楚如何获得该行上的TextBox句柄。

从我的研究来看,这应该适用于在jQuery中启用textbox,但它没有:

代码语言:javascript
复制
$(cb).parent().parent().find('input').removeAttr('disabled');

我甚至不能更改TextBox中的文本:

代码语言:javascript
复制
$(cb).parent().parent().find('input').val('hotdog');

这看起来应该很简单,所以我倾向于认为我是“肥指”,不知怎么的。

有谁知道有更好的方法来做我想做的事吗?我搞砸了什么?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-20 01:21:08

看起来您使用的是<textarea>而不是<input>,如果是这样的话,下面的内容就可以了:

代码语言:javascript
复制
$(cb).parents('tr:first').find('textarea').prop('disabled', false);

由于您希望修改元素的属性--必须通过.prop()方法完成--因此删除该属性将不会做任何事情。

票数 3
EN

Stack Overflow用户

发布于 2013-07-20 01:23:42

对于一个快速而简单的解决方案,你似乎走在了正确的轨道上。您只需获得dom遍历方法的正确组合就可以找到您要寻找的内容。您确定表最右边的单元格是简单的输入吗?它看上去更像一个文本区域,但我看不出来。通常,试着远离这个系统,如果以后需要添加另一列或包装器div,怎么办?修改一些动态生成代码以帮助您,这可能是值得的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17757685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档