jquery - 根据列表项的文本内容检查列表中的复选框

标签 jquery

我有一个如下所示的列表:

<ul id="someList">
    <li><input name="myNumber" type="checkbox" value="1" /> One </li>
    <li><input name="myNumber" type="checkbox" value="2" /> Two </li>
    <li><input name="myNumber" type="checkbox" value="3" /> Three </li>
</ul>

我试图使用 jQuery 来查找包含特定文本的 li,然后选中相应的复选框。像这样的事情:

        $("#someList").find("Two").prev("input[type=checkbox]").prop("checked", true);

好吧,我无法让它发挥作用。因此,经过一番搜索,我找到了一个使用 filter() 的示例,该示例确实有效。

     $('li').filter(function(){
             var txt = this.textContent;
             return txt === 'Two';  
         }).find('input[type=checkbox]').prop('checked', true);

这就像冠军一样。唯一的问题是,它似乎比我想象的要复杂。

我的问题很简单。这是完成我想做的事情的最佳方式吗?

最佳答案

您可以使用:contains()选择器通过其内容查找 li,然后使用 find()获取输入

$(document).ready(function () {
  $("#someList li:contains('Two')").find("input").prop("checked", true);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="someList">
    <li><input name="myNumber" type="checkbox" value="1" /> One </li>
    <li><input name="myNumber" type="checkbox" value="2" /> Two </li>
    <li><input name="myNumber" type="checkbox" value="3" /> Three </li>
</ul>

关于jquery - 根据列表项的文本内容检查列表中的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46587767/

相关文章:

javascript - Jquery 验证 submitHandler 没有被调用

javascript - 当在数字输入中输入小数时触发输入更改事件

javascript - 如何在jquery中添加悬停链接效果?

javascript - 如何将 jQuery UI 工具提示与我的自定义 CSS 一起使用

javascript - 根据滚动位置更改 div 内容

javascript - JQuery Datepicker 到 PHP 变量没有形式

javascript - jQuery 变量作用域?说未定义

javascript - jQuery UI DatePicker - 返回错误的日期格式

javascript - jQuery 标题闪烁

jquery - scrollTop 在 Firefox 和 IE 上不起作用?