2011-01-30 46 views
5

我想用jQuery验证表单。因此,我需要检查一个输入字段("#validatename")是否包含几个字,例如“United States of America”,“United Kingdom”或“France”。使用jQuery.contains()检查输入

要禁止“美利坚合众国”(我将在后面看到所有禁止字符串数组!),我有...

$("#validatename").keyup(function() 
{ 
var name = $("#validatename").val(); 
if(name != '') 
{ 
    if ($('#validatename:contains("United States of America")').length > 0) // http://stackoverflow.com/questions/902597/jquery-checking-to-see-if-div-contains-text-then-action 
    { 
    $("#validatename").css({ 
    "background-image": "url('no.png')" 
    }); 
    } 
    else 
    { 
    $("#validlastname").css({ 
    "background-image": "url('yes.png')" 
    }); 
    } 
} 
} 

...但它不工作: yes.png总是显示!

任何帮助或想法,将不胜感激!

非常感谢。

回答

8

尝试

$("#validatename").val().indexOf("United States of America") > -1 
+1

非常感谢反应!有用! – Vincent 2011-01-30 23:09:18

2

代替

$('#validatename:contains("United States of America")').length > 0 

可以使用

name.indexOf("United States of America") != -1