使用JQuery 1.11处理项目。我有多行数据,每行都有两个选择框。在将第一行设置为特定值之前,应禁用每行的第二个。
我拥有的代码有效,但是,很奇怪,只有按顺序执行它们才有效。如果我先去第一个以外的任何东西,它不会更新。
有人可以告诉我我做错了什么吗?谢谢!
这里是一个小提琴:https://jsfiddle.net/JCOvergaar/xLdp6wgo/9/
为了后代,这是代码:
$(document).on('change', '.ThisFirstThings', function() { var dataFlag = $(".ThisFirstThings option:selected").attr('data-flag'); if (dataFlag == 1) { $(this).closest("tr").find(".SecondThing").prop('disabled', false) } else { $(this).closest("tr").find(".SecondThing").prop('disabled', true) } }).trigger('change');
<form name="ThisForm" id="ThisForm"> <div id="divDVT"> <table> <tbody> <tr> <td> <select name="ThisFirstThing_1" id="ThisFirstThing_1" class="ThisFirstThings"> <option value="106" data-flag="0">No change</option> <option value="107" data-flag="0">No change</option> <option value="205" data-flag="1">Should Enable -></option> </select> </td> <td> <select name="ThisSecondThing_1" id="ThisSecondThing_1" class="SecondThing" disabled=""> <option value="43">one thing</option> <option value="82">another</option> </select> </td> <td> <input type="Submit" name="ThisSubmit" value="Submit"></td> </tr> <tr> <td> <select name="ThisFirstThing_2" id="ThisFirstThing_2" class="ThisFirstThings"> <option value="106" data-flag="0">No change</option> <option value="107" data-flag="0">No change</option> <option value="205" data-flag="1">Should Enable -></option> </select> </td> <td> <select name="ThisSecondThing_2" id="ThisSecondThing_2" class="SecondThing" disabled=""> <option value="43">one thing</option> <option value="82">another</option> </select> </td> <td> <input type="Submit" name="ThisSubmit" value="Submit"></td> </tr> </tbody> </table> </div> </form>
使用JQuery 1.11处理项目。我有多行数据,每行都有两个选择框。在第一行设置为特定值之前,应禁用每行的第二个。 ...