我希望有人能帮我。这似乎是容易的,但我一直未能找到解决办法。
我有张桌子看起来像这样:

我将一个javascript函数附加到极左的onclick控件的CheckBox事件处理程序中。这是我的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,但它没有:
$(cb).parent().parent().find('input').removeAttr('disabled');我甚至不能更改TextBox中的文本:
$(cb).parent().parent().find('input').val('hotdog');这看起来应该很简单,所以我倾向于认为我是“肥指”,不知怎么的。
有谁知道有更好的方法来做我想做的事吗?我搞砸了什么?
谢谢!
发布于 2013-07-20 01:21:08
看起来您使用的是<textarea>而不是<input>,如果是这样的话,下面的内容就可以了:
$(cb).parents('tr:first').find('textarea').prop('disabled', false);由于您希望修改元素的属性--必须通过.prop()方法完成--因此删除该属性将不会做任何事情。
发布于 2013-07-20 01:23:42
对于一个快速而简单的解决方案,你似乎走在了正确的轨道上。您只需获得dom遍历方法的正确组合就可以找到您要寻找的内容。您确定表最右边的单元格是简单的输入吗?它看上去更像一个文本区域,但我看不出来。通常,试着远离这个系统,如果以后需要添加另一列或包装器div,怎么办?修改一些动态生成代码以帮助您,这可能是值得的。
https://stackoverflow.com/questions/17757685
复制相似问题