我想要手动触发事件,而不是jQuery本身
这里更好地理解我的问题:
$('.commonCheck').change(function () {
if ($(".cashierCheck").attr("checked")) {
$('.cashierInput').fadeIn();
console.log("________________hr")
}
else{
$('.cashierInput').fadeOut();
console.log("_______________uncjecked")
}
}
我的复选框:
<input type="checkbox" name="cashierFilter" id="cashierFilter" class="cashierCheck commonCheck" class="mrL0" />
当我手动选中/取消选中复选框时,触发更改事件没有任何问题。 但我希望在我以某种方式执行此事件时发生事件:
$('#cashierFilter').prop('checked','true');
答案 0 :(得分:2)
您可以使用trigger
以编程方式触发事件:
$('#cashierFilter').prop('checked', true).trigger('change');
此外,您应该使用is
来检查元素的属性,并且可以在变量中缓存选择器以提高性能:
$('.commonCheck').change(function () {
var $cashierCheck = $(".cashierCheck");
if ($cashierCheck.is(":checked")) {
$cashierCheck.fadeIn();
console.log("________________hr")
}
else {
$cashierCheck.fadeOut();
console.log("_______________uncjecked")
}
}
答案 1 :(得分:2)
在jquery中使用“is”是最佳解决方案:
$('.commonCheck').change(function () {
if ($(".cashierCheck").is(":checked")) {
$('.cashierInput').fadeIn();
console.log("________________hr")
}
else{
$('.cashierInput').fadeOut();
console.log("_______________uncjecked")
}
});