javascript - 使用变量按值选择 jquery 集合中的元素

标签 javascript jquery jquery-selectors

我正在使用 jQuery,并且有一个包含页面输入的集合(对象?)。我有一个变量,用于保存循环每次迭代的值属性。我想找到与我的变量匹配的值的输入,以便我可以选中该复选框。

function reject(el) {
    const checkBox = $(el).find('input:checkbox');
    if (tempStore.checks.length > 0) {
        for (let j=0;j<tempStore.checks.length;j++) {
            $(checkBox).find("input.val("+tempStore.checks[j]+")").checked = true;
        }
    }
}

我已经在网上搜索了几个小时,但找不到正确的语法。有人可以帮忙吗?

最佳答案

如果该值是在 DOM 中设置的,您可以尝试通过 attribute 选择它使用 [value=""] 选择器:

let value = "A";

$('body').find('input[value="' + value + '"]').prop("checked", "checked");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="A">

请注意,在您的代码中您可以执行以下操作:

checkBox.filter(...)

这将提高性能 filter已填充的元素列表,而不是 find .

另一个解决方案(虽然不是最好的)是针对 val() 选择它。 :

let $checks = $('body').find('input[type="checkbox"]'),
    value = "B";
    
$checks.each(function() {
  let $this = $(this);
  
  if ($this.val() == value) {
    $this.prop("checked", "checked");
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="A">
<input type="checkbox" value="B">
<input type="checkbox" value="C">

关于javascript - 使用变量按值选择 jquery 集合中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56797083/

相关文章:

jQuery - 按顺序动态链接元素..?

javascript - 如何将变量复制到剪贴板

php - HTML 链接带有点 (.) 的 ID

javascript - 在按下 keyup 时使用 jquery 从最近的 span 标记中获取文本

jquery - 如何从外部 HTML 文件加载/替换整个 DIV?

jquery - 使用 jQuery 在当前集合中查找元素

javascript - 对 div 元素进行动画处理,改变其在 div 列表中的位置

javascript - 如何正确地迭代结构

javascript - 什么是 ECMAScript Editon 5.1,它有什么用?

javascript - "(perhaps it was deleted?)"Google 脚本中的电子表格错误