找出文本输入是否包含JQuery的特定文本的最佳方法是什么?
例如,如果$('#poo').val()
包含 airport ,我如何查找并返回布尔结果?
编辑
感谢@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;
}
});
答案 0 :(得分:3)
如果要控制区分大小写,可以使用正则表达式:
if (/airport/i.test(this.value)) alert('true');
如果您需要检查多个变量而不仅仅是机场,它会变得特别有用:
if (/(airport|station|docks)/i.test(this.value)) alert('true');
答案 1 :(得分:1)
通常您可以使用 indexOf 或 split 函数来执行此操作,例如
$("#textInput").val().split("specifictext").length > 0
说明:选择包含指定文字的所有元素。
虽然目的略有不同但可能对您有用
答案 2 :(得分:0)
if($("#elementId").val().indexOf("airport") != -1) {
//Contains "airport"
}
JavaScript indexOf
函数返回指定字符串第一次出现的索引。如果找不到该字符串,则返回-1
。
答案 3 :(得分: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