为什么我的jquery只按顺序工作?

为什么我的jquery只按顺序工作?,jquery,Jquery,使用jQuery1.11在项目中工作。我有多行数据,每行有两个选择框。应禁用每行中的第二个,直到第一个设置为特定值 我的代码是有效的。。。但奇怪的是,只有按顺序进行操作,它才会起作用。如果我先去除第一个以外的任何地方,它都不会更新 有人能告诉我我做错了什么吗?谢谢 这是一把小提琴: 对于子孙后代,以下是代码: $(document).on('change', '.ThisFirstThings', function() { var dataFlag = $(".ThisFirstThin

使用jQuery1.11在项目中工作。我有多行数据,每行有两个选择框。应禁用每行中的第二个,直到第一个设置为特定值

我的代码是有效的。。。但奇怪的是,只有按顺序进行操作,它才会起作用。如果我先去除第一个以外的任何地方,它都不会更新

有人能告诉我我做错了什么吗?谢谢

这是一把小提琴:

对于子孙后代,以下是代码:

$(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');

不变
不变
应启用->
一件事
另一个
不变
不变
应启用->
一件事
另一个
尝试更改

var-dataFlag=$(“.ThisFirstThings选项:选中”).attr('data-flag')

var-dataFlag=$(this).find(“选项:选中”).attr('data-flag')

原始
dataFlag
正在获取页面中的所有
select.ThisFirstThings
。 仅更改目标已更改
选择。ThisFirstThings
尝试更改

var-dataFlag=$(“.ThisFirstThings选项:选中”).attr('data-flag')

var-dataFlag=$(this).find(“选项:选中”).attr('data-flag')

原始
dataFlag
正在获取页面中的所有
select.ThisFirstThings

更改目标仅更改
select.ThisFirstThings

使用
$(this).find(“选项:已选”)
而不是
var dataFlag=$(“.ThisFirstThings选项:已选”).attr('data-flag')非常感谢!这就解决了!使用
$(this.find(“option:selected”)
而不是
var-dataFlag=$(“.ThisFirstThings选项:selected”).attr('data-flag')非常感谢!这就解决了!谢谢,伊森,这解决了问题。我也很高兴知道为什么它不起作用。使我在另一个环境中不再犯错误的可能性更大。谢谢,伊森——这解决了问题。我也很高兴知道为什么它不起作用。这样我就更有可能在另一个环境中不再犯同样的错误。
  <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>