有人可以帮我解决这个问题吗?
$('.check_group').click(function () {
var check = $(this).children('input')[0];
check.checked = !check.checked;
alert(check.checked);
//run something else
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
<input type="checkbox" />
</div>
因此,当我点击复选框时 - 更改复选框的状态,然后触发jQuery和状态更改。
如何点击div / Checkbox - 复选框已更改且有警报?
答案 0 :(得分:1)
尝试使用此代码,您需要确定何时单击DIV,然后您需要选中/取消选中该复选框。
$('.check_group').click(function (e) {
var input = $(this).children('input[type="checkbox"]');
//Identify the node which is clicked
if(e.target.nodeName == "DIV")
{
$(input).prop('checked', !$(input).prop("checked"));
}
console.log($(input).is(":checked"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
<input type="checkbox" />
</div>
答案 1 :(得分:0)
你想这样做吗?
$('.check_group').click(function () {
var checkbox = $(this).children('input')[0];
setTimeout(function(){alert(checkbox.checked);},200);
//run something else
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
<input type="checkbox" />
</div>
&#13;
除非您首先要进行可视化显示检查然后提醒
,否则不需要setTimeout答案 2 :(得分:0)
临时解决方案:
$('.check_group').click(function (e) {
var check = $(this).children('input')[0];
if (e.target.tagName == "INPUT") {
check.checked = !check.checked;
}
check.checked = !check.checked;
alert(check.checked);
//
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="check_group" style="background-color: rgb(200, 138, 59);">
<input type="checkbox" />
</div>