在动态文本框JQUERY中查找字符串

时间:2013-12-20 04:17:33

标签: javascript

我正在尝试在动态文本框中搜索字符串'sample',但似乎无法使其正常工作。我的代码出了什么问题?

var sentence =  document.getElementsByName('sentence[]');
for (i=0; i<sentence.length; i++)
    {
        if( sentence[i].indexOf('sample') != -1 )
            {
                alert("String Found");
                return false;
            }
    }

2 个答案:

答案 0 :(得分:1)

sentence[i]是一个dom元素,您可能希望使用sentence[i].value之类的

var sentence = document.getElementsByName('sentence[]');
for (i = 0; i < sentence.length; i++) {
    if (sentence[i].value.indexOf('sample') != -1) {
        alert("String Found");
        return false;
    }
}

的jQuery

var valid = true;
$('input[name="sentence[]"]').each(function () {
    if (this.value.indexOf('sample') != -1) {
        valid = false;
        //to stop the iteration
        return false;
    }
});
if (!valid) {
    alert("String Found");
    return false;
}

var valid = $('input[name="sentence[]"]').filter(function () {
    return this.value.indexOf('sample') != -1
}).length == 0;
if (!valid) {
    alert("String Found");
    return false;
}

答案 1 :(得分:1)

这被列为jQuery所以我假设我们被允许使用它?从它的外观来看,我无法判断你何时触发此代码。你最有可能想要在键盘上这样做,所以它会在单词出现时立即发出警告。

你需要这个:

$("[name='sentence']").keyup(function() {
    var text = $(this).val();
    if( text.indexOf("sample") >= 0 ) {
        alert("Found");
    }
});

您可以在此处看到它:jsFiddle