选择Jquery中的所有空文本字段

时间:2009-03-11 16:10:48

标签: jquery jquery-1.3

如何找到空值的所有文本字段?

$(":text[value='']")  

发出JavaScript错误

我知道我可以执行$(":text"),迭代并使用$(this).val()==''

返回所有字段

我正在寻找一个更简洁的方法并使用JQuery 1.3.1 如果元素在加载页面时最初具有值,则必须工作,然后用户清除它。 ($("#elem").attr('value')给出该位置的原始值,但.val()正常工作)

6 个答案:

答案 0 :(得分:11)

最新答案:升级至1.3.2

以下是我在http://docs.jquery.com/Downloading_jQuery

上通过FireBug运行的各种测试

使用特殊的greasemonkey脚本在页面加载时切换不同的jQuery版本。

>>> jQuery.prototype.jquery
"1.3.2"
>>> jQuery(":text[value='']")
[input#jq-primarySearch]
Unknown pseudo-class or pseudo-element 'text'.
>>> jQuery(":text[value=]").get()
[input#jq-primarySearch]

>>> jQuery.prototype.jquery
"1.3.1"
>>> jQuery(":text[value='']")
Syntax error, unrecognized expression: value='']
>>> jQuery(":text[value=]").get()
[input#jq-primarySearch]

>>> jQuery.prototype.jquery
"1.3"
>>> jQuery(":text[value='']");
Object length=1 prevObject=Object context=document
Unknown pseudo-class or pseudo-element 'text'.
[Break on this error] undefined
>>> jQuery(":text[value=]").get()
[input#jq-primarySearch]

请注意,1.3和1.3.2正确处理它(尽管Firefox发送错误),但它们仍然可以正确地运行节点。

或者:您可以使用:text[value=]符号,这似乎适用于我尝试过的所有地方。它只是有点怀疑这一切。

(忽略我以前的咆哮,他们都是笨蛋,没有美好的一天-_-)

答案 1 :(得分:4)

我刚试过这个并且对我很好:

$(":text[value=]")

我刚删除了选择器中的单引号。

答案 2 :(得分:2)

你很亲密。 jQuery选择器中没有赋值,所以你只需要一个'=':

$(":text[value='']")

答案 3 :(得分:2)

这似乎对我有用

$(":text:not([value])")

答案 4 :(得分:1)

以下代码执行此操作:

  1. 在表单中搜索输入字段和textareas
  2. 检查文本值是否为空
  3. 为textfield / textarea提供黑色背景颜色来证明这一点 作品

    $('form').find("input[type=text], input[type=password], textarea").each(function(ev)
    {
    
    if(!$(this).val())
    {
       $(this).css("background-color","black");
    }
    
    });
    

答案 5 :(得分:-2)

在黑暗中拍摄,因为我没有测试过,但是这样做有效:

$(":text:empty")