gpt4 book ai didi

javascript - 按复选框值过滤 javascript 不起作用

转载 作者:行者123 更新时间:2023-11-28 13:28:34 25 4
gpt4 key购买 nike

我正在尝试通过复选框值过滤我的页面。这样,只要该值存在于特定行中,它就会过滤该行。我的代码的问题是 if check 甚至没有触发。我知道这一点是因为控制台日志消息测试没有显示。我在控制台中没有收到任何语法错误,但没有看到该复选框已被选中。我是 JavaScript 菜鸟。当选中该复选框时,不应该触发以下代码吗?

var $row = $("#data tr"),
$filter_poweron = $("#poweron");

if($filter_poweron.checked) {
console.log('test');
var filterText_poweron = $filter_poweron.val().toLowerCase();
$row.each(function () {
var $row_d = $(this);
$row_d.toggle($row_d.text().toLowerCase().indexOf(filterText_poweron) > -1);
});
}

<br><input type="checkbox" id="poweron" value="1O">PoweredOn <input type="checkbox" id='poweroff' value="0F"> PoweredOff

最佳答案

$filter_poweron 是一个 jQuery 对象。 jQuery 对象没有 checked属性。

您可以使用 .prop() 获取 DOM 元素的 checked 属性:

var $row = $("#data tr"),
$filter_poweron = $("#poweron");

if ($filter_poweron.prop('checked')) {
console.log('test');
var filterText_poweron = $filter_poweron.val().toLowerCase();
$row.each(function () {
var $row_d = $(this);
$row_d.toggle($row_d.text().toLowerCase().indexOf(filterText_poweron) > -1);
});
}

还有其他方法可以查看复选框元素是否被选中:

$filter_poweron[0].checked;
$filter_poweron.is(':checked');
$filter_poweron.filter(':checked').length;

关于javascript - 按复选框值过滤 javascript 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27026506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com