当另一个复选框被激活时启用点击事件

时间:2017-02-01 15:29:50

标签: javascript jquery

我需要一个执行以下操作的jQuery函数:例如,当选中checkbox1时,当我点击其他一些元素(id以element-开头)时,我可以打印{控制台中的这些元素的{1}}如下:

id

我测试了这个例子并且它不起作用。我不知道我什么时候错了。

2 个答案:

答案 0 :(得分:5)

最简单的方法是颠倒你的逻辑。也就是说,将click处理程序放在所需的元素上,并在其中检查复选框的状态。试试这个:



$(document).on('click', '[id^="element-"]', function(e) {
  if ($('#checkbox1').is(':checked'))
    console.log(this.id);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label>
  <input type="checkbox" id="checkbox1" />
  Check me!
</label>

<div>
  <button id="element-foo">Foo</button>
  <button id="element-bar">Bar</button>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我测试了它,这对你有用

&#13;
&#13;
$("input[id^=d]").on("click", function() {
    var id = $(this).prop("id");
    if ($("#c1").is(":checked")) {
        console.log(id);
    }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Dogs <input id="c1" type="checkbox" />
Cats <input id="d1" type="checkbox" />
Zebras <input id="d2" type="checkbox" />
Rhinos <input id="e1" type="checkbox" />
&#13;
&#13;
&#13;