【问题标题】:jQuery select options with multiple valuesjQuery选择具有多个值的选项
【发布时间】:2010-09-06 02:31:44
【问题描述】:

在选择器中,如何检查一个属性的值是否在一行中包含“a”、“b”或“c”?例如:$('input[name]=a|b|c')?好吧,我测试了它,但它不起作用。

【问题讨论】:

    标签: jquery jquery-selectors selector


    【解决方案1】:
    $("input[name='a'],input[name='b'],input[name='c']")
    

    如果这个字符串看起来太长或多余,你可以像这样构建选择器:

    var names = ['a','b','c'];
    var selector = [];
    for (var i=0; i<names.length; i++) {
       selector.push("input[name='" + names[i] + "']");
    }
    
    $(selector.join(','))
    

    【讨论】:

    【解决方案2】:

    如果只能使用正则表达式,您可以尝试使用.filter()

    $('#somecontainer input').filter( function(){
      return this.name.match(/a|b|c/);
    });
    

    另一种方法是用.add() 组装一个jQuery 对象。如果你的意思是 contains 而不是 equals,别忘了使用name*=a

    $('input[name*=a]')
      .add('input[name*=b]')
      .add('input[name*=c]')
      .add('<p>something</p>') // you can .add() almost anything. useful.
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多