从某个元素开始选择下一个元素

时间:2012-11-09 12:50:34

标签: jquery

我的页面上有两个radio按钮。当我选择第一个时,我希望它禁用div中的某组input字段。当我选择第二个radio时,我希望它禁用其他元素。但是这些元素没有嵌套在div按钮所在的radio内。

我似乎无法找到一种禁用正确元素的好方法。

这是一个例子: http://tinkerbin.com/tvx5EwHR

任何人都知道如何禁用正确的输入字段?

请注意,我宁愿不使用parent().parent()作为解决方案。因为当我稍后决定改变DOM布局时,这很容易破坏我的JS。

3 个答案:

答案 0 :(得分:0)

我不会尝试做任何复杂的选择器,而只是稍微更新DOM。像

这样的东西
<input type="radio" ... data-disable="element1"/>
...
<div class="element1">
...

然后,在jQuery中,您可以在首次启用所有输入后使用$(this).data('disable')获取要禁用的元素类。

答案 1 :(得分:0)

请尝试这个http://tinkerbin.com/xQjeYD6C

$(function() {
  $('.opt1').click(function() {
    $('.elements1').show();
    $('.elements2').hide();
  });

  $('.opt2').click(function() {
    $('.elements1').hide();
    $('.elements2').show();
  });
});

答案 2 :(得分:0)

如果您要启用/禁用与单选按钮关联的整个div,那么这可能有帮助

https://stackoverflow.com/questions/7340449/how-can-i-disable-a-div-tag-on-my-html-page-using-javascript