jQuery 无法检测复选框单击或更改事件
Cannot detect checkbox click or change event with jQuery
这真是个谜,但不知何故我无法检测到复选框点击或使用以下代码进行更改:
jQuery(document).ready(function () {
jQuery(document).on("click", "#item_configuration_item_selected", function() {
console.log("click");
});
});
它适用于任何其他元素,但不适用于复选框。
当我尝试用这个检测被点击的元素时:
jQuery('body').click(function(event){
var id = event.target;
console.log(id);
});
然后,它再次显示任何其他元素的单击元素 ID,复选框除外。我快要发疯了。
元素 html 看起来像这样:
<div class="span3">
<label for="item_configuration_item_selected" class="checkbox">
<input type="checkbox" class="fabrikinput " name="item_configuration_item_selected[0][0]" id="item_configuration_item_selected" value="1"><span>MyLabel</span></label>
</div>
如有任何提示,我们将不胜感激。
编辑添加的代码段
jQuery(document).ready(function() {
jQuery(document).on("click", "#item_configuration_item_selected", function() {
console.log("click");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="span3">
<label for="item_configuration_item_selected" class="checkbox">
<input type="checkbox" class="fabrikinput " name="item_configuration_item_selected[0][0]" id="item_configuration_item_selected" value="1"><span>MyLabel</span></label>
</div>
谢谢大家,但 Prakash 的建议“$("#item_configuration_item_selected").change(function() {})”是唯一有效的方法。太感谢了!我仍然很困惑为什么,但只要它能解决问题,我就可以接受 :)
这真是个谜,但不知何故我无法检测到复选框点击或使用以下代码进行更改:
jQuery(document).ready(function () {
jQuery(document).on("click", "#item_configuration_item_selected", function() {
console.log("click");
});
});
它适用于任何其他元素,但不适用于复选框。
当我尝试用这个检测被点击的元素时:
jQuery('body').click(function(event){
var id = event.target;
console.log(id);
});
然后,它再次显示任何其他元素的单击元素 ID,复选框除外。我快要发疯了。
元素 html 看起来像这样:
<div class="span3">
<label for="item_configuration_item_selected" class="checkbox">
<input type="checkbox" class="fabrikinput " name="item_configuration_item_selected[0][0]" id="item_configuration_item_selected" value="1"><span>MyLabel</span></label>
</div>
如有任何提示,我们将不胜感激。
编辑添加的代码段
jQuery(document).ready(function() {
jQuery(document).on("click", "#item_configuration_item_selected", function() {
console.log("click");
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="span3">
<label for="item_configuration_item_selected" class="checkbox">
<input type="checkbox" class="fabrikinput " name="item_configuration_item_selected[0][0]" id="item_configuration_item_selected" value="1"><span>MyLabel</span></label>
</div>
谢谢大家,但 Prakash 的建议“$("#item_configuration_item_selected").change(function() {})”是唯一有效的方法。太感谢了!我仍然很困惑为什么,但只要它能解决问题,我就可以接受 :)