我正在创建一个50行表,并且在每行中我希望根据同一个tablerow中下拉框的选项值启用/禁用一个表单字段 .
这是我的一个例子:
<tr id="tr1">
<td>
<select id="tableDropDown" style="min-width: 100px;">
<option>The Manufacturer</option>
<option>Me</option>
</select>
</td>
<td><input id="packSize" type="number" disabled></input></td>
</tr>
<tr id="tr2">
<td>
<select id="tableDropDown" style="min-width: 100px;">
<option>The Manufacturer</option>
<option>Me</option>
</select>
</td>
<td><input id="packSize" type="number" disabled></input></td>
</tr>
我试图用来完成这个的jquery函数在第一行上运行正常,但是在其他行上没有任何改变 . 输入字段“packSize”仅保持禁用状态 .
这就是它的样子:
$("#tableDropDown").on('change', function(){
if ($(this).val() === "Me") {
$("#packSize").removeAttr('disabled');
}
else {
$("#packSize").attr({'disabled': 'disabled'});
}
});
任何关于我做错的建议都会非常感激 . 谢谢 .
2 回答
该选项中没有值 .
试试这个..
并且不能为不同的元素拥有相同的id
不要在你的情况下使用ID选择器,因为ID是UNIQUE,而页面中的javascript只能出现一次 .
(不建议任何时候使用duplicity id,使用类或其他选择器而不是id)
html
js
工作示例jsfiddle
更新
什么问题?只改变你需要的if条件 . 我更新了上面的html和脚本 .
更新的工作示例jsfiddle