选中CheckBox时禁用选择

时间:2013-09-20 11:02:47

标签: jquery drop-down-menu checkbox javascript

我正在研发一种大型产品,而对于我的生活,我无法让它发挥作用。 我的问题是,复选框和下拉框的id是动态的,所以我根本无法引用它们,我无法编辑html给另一个。但是,我可以在Div中包含它们并给它一个类名来引用它们(div.blaaah select)。

我一直在尝试研究并编写一些JS,以便在选中复选框时禁用下拉框但是引用问题时我无法执行此操作。

此外,我希望在页面上应用许多区域(大约65个复选框禁用相应的下拉框对) - 例如:

example

因为每个包含下拉框的div是包含复选框以禁用它的div之后的下一个元素我以为我可以使用.next()或者其他东西,但是我的技能与Js一样,不仅仅是划伤!

我尝试过很多东西,但是我想要的基本思路与下面的一系列尝试一致:

$(".NACheck input").click(function() {
$(this).next(".importSelect select").disabled=true;
});

这是元素的基础:

<td>
  <div>
    <div class="checkNA">
      <table>
        <tbody>
          <tr>
            <td>
              <span>
                <table>
                  <tbody>
                    <tr>
                      <td>
                        <INPUT: CHECKBOX />
                      </td>
                      <td>
                      </td>
                    </tr>
                  </tbody>
                </table>
              </span>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</td>
<td>
  <div>
    <div class="importSelect">
      <table>
        <tbody>
          <tr>
            <td>
              <span>
                <SELECT />
              </span>
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
</td>
<td>
  <div>
    <div class="RelSelect">
      <table>
        <tbody>
          <tr>
            <td>
              <span>
                <SELECT />
              <span>
            </td>
          </tr>
        <tbody>
      </table>
    </div>
  </div>
</td>    

任何帮助将不胜感激!谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个:

$(".NACheck input").click(function() {
    $('select', $(this).parents('.container-of-each-line')).attr('disabled', 'disabled');
});

答案 1 :(得分:0)

假设select boxs next two elements checkboxonchange

将<{1}}或onclick事件添加到每个复选框

this.nextSibling.disabled = this.checked;
this.nextSibling.nextSibling.disabled = this.checked;

答案 2 :(得分:0)

可能会有所帮助:

$(this).parents('div containing checkbox').next().children().attr("disabled", true);

查看http://jsfiddle.net/ZBymu/