2

入力があり、配列内の値のいずれかが存在するかどうかを知りたいです。簡単な例として、私の配列は

var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];

たとえば、単に「sun」と入力した場合にトリガーする方法を理解しましたが、「hhsun」または「sunee」も存在するかどうかを知りたいです。

$('input').keyup(function() {
    var _val = $(this).val();
    $('p').text(_val);

    var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];

    if (_array.indexOf(_val) != -1) {
        $('span').text('it worked');
    } else {
        $('span').text(_array.indexOf(_val));
    } 
});

フィドル

4

2 に答える 2

9

_arrayの要素がテキストボックスのテキストのサブストリングであるかどうかを確認します。

var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];

for (var i = 0; i < _array.length; i++) {
    if (_val.indexOf(_array[i]) != -1) {
        $('span').text('it worked');
        return;
    }
}

$('span').text('nothing');

デモ: http: //jsfiddle.net/WLacb/3/


もう少しわかりにくい解決策は、正規表現を使用することです。

if (/sun|mon|tue|wed|thu|fri|sat/ig.test(_val)) {
    $('span').text('it worked');
} else {
    $('span').text('nothing');
}

デモ: http: //jsfiddle.net/WLacb/9/

于 2012-08-15T06:58:33.810 に答える
2

これを行う簡単な方法は、組み込みのjquery.eachコマンドを使用して、配列の各要素をループし、それがテキスト ボックスの値にあるかどうかを確認することです。

http://jsfiddle.net/WLacb/10/

$('span').text(-1);
$.each(_array, function(key, value) {
    if (_val.indexOf(value) != -1) {
        $('span').text('it worked');
    }
});
于 2012-08-15T07:04:22.103 に答える