2011-06-29 76 views
2

找出文本输入是否包含JQuery特定文本的最佳方法是什么?找出文本输入是否包含jQuery的特定文本

例如,我怎么能找到并返回一个布尔结果,如果$('#poo').val()包括机场

编辑

这里是解决我感谢@Niklas问题;

var IsbtFortxtPropertyHotelNameOn = false; 
$('#<%: txtPropertyHotelName.ClientID %>').keyup(function() { 

    if (/airport/i.test(this.value) && !IsbtFortxtPropertyHotelNameOn) { 
     $('#<%: txtPropertyHotelName.ClientID %>').btOn(); 
     IsbtFortxtPropertyHotelNameOn = true; 
    } else if(IsbtFortxtPropertyHotelNameOn && !/airport/i.test(this.value)) { 
     $('#<%: txtPropertyHotelName.ClientID %>').btOff(); 
     IsbtFortxtPropertyHotelNameOn = false; 
    } 
}); 

回答

3

如果你想有过的情况下,灵敏度控制,你可以使用正则表达式:

if (/airport/i.test(this.value)) alert('true'); 

,如果你需要检查多个变量,而不是仅仅的机场变得尤其有用:

if (/(airport|station|docks)/i.test(this.value)) alert('true'); 

http://jsfiddle.net/niklasvh/tHLdD/

+0

有很好的触感。最好的。我将使用它模糊事件,而不是keyup。谢谢 ! – tugberk

1

通常你会用两种的indexOf做分裂功能,例如

$("#textInput").val().split("specifictext").length > 0 

这里还有Contains Selector

说明:选择包含指定文字的所有元素。

供应略有不同的目的,但可能会使用到您

0
if($("#elementId").val().indexOf("airport") != -1) { 
    //Contains "airport" 
} 

中的JavaScript indexOf函数返回指定字符串中第一次出现的索引。如果未找到该字符串,则返回-1

0

真的不知道,如果这是最好的办法..但是

function findInpWithTxt(txt) { 
    var t = null; 
    $("input[type=text]").each(function() { 
     if ($(this).val().indexOf(txt) >= 0) { 
      t = this; 
      return false; 
     } 
    }); 
    return t; 
} 

这将返回输入如果找到,则返回null不

+0

对不起,没看过的更新,对我来说,他一直在寻找他们。 –

相关问题