jQuery获取id以任何常量结尾的元素

我需要一个jQuery来获取所有已检查的复选框,其ID以PR,PR_KD或PR_KDA结尾.我试过这个没有运气:

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1] + " input:checked").find(":[id$=_chkPR],:[id$=_chkPR_KD],:[id$=_chkPR_KDA])");

还有这个:

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1] + " input:checked:[id$=_chkPR,id$=_chkPR_KD,id$=_chkPR_KDA]")

我没有正确使用“或”.谁能帮我?

提前致谢!

亚历杭德罗.

解决方法

你的第一个示例查询是与正确语法最接近的查询,但是你使用$(‘… input:checked’).find()将查找这些复选框的子项(其中当然不存在) ).

所以你需要移动输入:检查部分,或者更好的是:复选框:选中,以排除任何单选按钮到你的.find中,这样你就可以在所需的容器内搜索,而不是在复选框列表中搜索

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1])
    .find(":checkBox:checked[id$=_chkPR],:checkBox:checked[id$=_chkPR_KD],:checkBox:checked[id$=_chkPR_KDA])");

另一种表达方式可能是:

jQuery("#" + panelInfo[0] + "_row_" + panelInfo[1])
   .find('[id$=_chkPR],[id$=_chkPR_KD],[$=id_chkPR_KDA]')
   .filter(function() { return $(this).is(':checkBox:checked'); });

在上面的代码中,您将在面板中找到具有匹配ID的所有元素,并从匹配集中筛选出已选中复选框的元素.

如果你提供一个上下文,你也可以完全不需要使用.find:

jQuery(":checkBox:checked[id$=_chkPR],:checkBox:checked[id$=_chkPR_KDA])",document.getElementById(panelInfo[0] + "_row_" + panelInfo[1]));

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...