javascript - 显式 .trigger("click") 未设置为 true jquery
问题描述
在我的 js 文件中,当复选框上发生“单击”事件时触发一个函数,并在该单击上检查哪些值被“选中”并选择这些值。我正在通过类似 :: 的代码进行点击,$('#id').trigger("click"); or $('#id').click()
在这种情况下,调用“点击”时触发的函数,但是当它检查时if($('#id').checked)
,它返回 false,并且永远不会调用“if-body”。
当我触发单击复选框时,为什么该元素的检查未设置为 true?
解决方案
因为$('#id')
没有checked
财产。$('#id').checked
也是如此undefined
。您可以看到,即使单击复选框本身控制台undefined
$('#id').on('click', function() {
console.log($('#id').checked);
});
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<input id="id" type="checkbox" />
有一些方法可以检查复选框是否被选中。
$('#id').on('click', function() {
console.log(
$('#id').is(':checked'),
$('#id').get(0).checked,
$('#id').prop('checked')
);
});
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<input id="id" type="checkbox" />
并用按钮
$('#id').on('click', function() {
if ($('#id').is(':checked')) {
console.log('checked!!')
}
});
$('button').on('click', function() {
$('input').trigger('click');
})
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<input id="id" type="checkbox" />
<button>trigger check</button>
推荐阅读
- accessibility - 自动弹出窗口和键盘可访问性
- coq - 如何在 Coq 中销毁列表(nil 或非 nil)
- java - Java 8 Map 与外部类中的静态函数
- python - 如何根据熊猫中的公式从两个数据框中获取所有可能的组合?
- git - Git checkout branchname 创建不在 git log 中的文件
- aws-lambda - 通过 Lambda 查询 QLDB
- r - 如何在 R 中手动构建订单函数?
- android - ArCore ArFrame 隐藏相机图像但保留 HandMotion 动画
- android - 如何实现应用程序范围的搜索栏?
- algorithm - 将消息概率转发到服务器子集