函数/选择器按值过滤输入

Cor*_*liu 7 jquery

在jQuery中是否有内置的函数/选择器来按值过滤输入?

我可以创建一个自定义选择器:

$.extend($.expr[":"], {
    val: function(elem, index, match) {
       return $(elem).val() == match[3];
    }
});
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:$("input:val('Some text')").

我只是想知道这样的事情是否已经存在或者是否有更好的方法.

Kar*_*rky 7

它看起来不像是内置的解决方案.但对于一次性选择器,.filter()是一个选项:

$('input').filter(function() { return $(this).val() === 'Some text'; });
Run Code Online (Sandbox Code Playgroud)


Nic*_*tti 4

你可以这样做:

    $('input[value=someval]')
Run Code Online (Sandbox Code Playgroud)

你也可以链接它

    $('input[type=radio][value=someval]')
Run Code Online (Sandbox Code Playgroud)

这里

  • value='someval' 将按“value”属性定义的初始值过滤控件。<input type="text" name="n" value="someval" />,如果用户更改输入框中的文本,例如更改为 'newval',则 input[value=someval] 仍会选择该节点(位于至少在符合标准的浏览器(例如 FF)中,因为默认值仍然是“someval”。IE 将过滤不符合 HTML 标准的当前值。 (8认同)
  • 这将返回默认(属性)值,但我需要控件的当前值。 (4认同)