我需要一个执行以下操作的jQuery函数:例如,当选中checkbox1
时,当我点击其他一些元素(id以element-
开头)时,我可以打印{控制台中的这些元素的{1}}如下:
id
我测试了这个例子并且它不起作用。我不知道我什么时候错了。
答案 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;
答案 1 :(得分:0)
我测试了它,这对你有用
$("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;