2011-07-06 29 views
5

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

我可以创建自定义选择:

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

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

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

回答

2

你可以这样做:

$('input[value=someval]') 

你也可以IT连锁

$('input[type=radio][value=someval]') 

here

+2

这将返回默认值(属性)值,但我需要控制的当前值。 – Corneliu

+0

第一个将选择值='someval'的所有输入。这是一个选择器,它返回jquery对象的集合。这个“按值过滤输入”,因为它只返回具有特定值的输入。 –

+8

value ='someval'将按“value”属性定义的初始值过滤控件。 ,如果用户改变了输入框中的文本,ex为'newval',输入[value = someval]仍然会选择节点至少在符合标准的浏览器中,例如FF),因为默认值仍然是'someval'。 IE会根据不符合HTML标准的当前值进行过滤。 – Corneliu

2
$.extend($.expr[":"], { 
    val: function(elem, index, match) { 
     return $.trim($(elem).val()) == $.trim(match[3]); 
    } 
}); 
4

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

$('input').filter(function() { return $(this).val() === 'Some text'; });