找出文本输入是否包含带有jquery的特定文本

时间:2011-06-29 09:37:48

标签: javascript jquery input

找出文本输入是否包含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;
    }
});

4 个答案:

答案 0 :(得分:3)

如果要控制区分大小写,可以使用正则表达式:

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

如果您需要检查多个变量而不仅仅是机场,它会变得特别有用:

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

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

答案 1 :(得分:1)

通常您可以使用 indexOf split 函数来执行此操作,例如

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

还有Contains Selector

  

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

虽然目的略有不同但可能对您有用

答案 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