-4

入力フィールドに入力されたアイテムのレコード値を取得するプログラムを作成しました。たとえば、入力フィールドに「a」があり、出力は5以下で、アイテムの値はaから始まります。

<script>
    function main_func() {
    if (document.getElementById('search_input').value == "") {
        alert("Please Enter a charactor / word..");
    } else {
        var con = document.getElementById('first_div');
        var char = document.getElementById('search_input').value;
        var str = '';
        var ad = ['ab', 'ar', 'af', 'fa', 'af', 'at', 'aaay', 'aad', 'gd', 'nggn'];
        var len = ad.length;
        for (var j = 0; j < len; j++) {
            var str = ad[j];
            var n = str.indexOf(char);
            if (n == 0) con.innerHTML += '<font color=orange>' + str + '</font><br><br><br><br><br>';
        }
    }
}
</script>
4

1 に答える 1

2

見つかった一致に対してカウンターを使用して、上限に達したときにループを停止します。

var matches = 0;
for (var j = 0; j < len && matches < 5; j++) {
    var str = ad[j];
    var n = str.indexOf(char);
    if (n == 0) {
        con.innerHTML += '<div class="result">' + str + '</div>';
        matches++;
    }
}

そして、すべての聖なるものへの愛のために、使用しないでください<font>

デモ: http://jsfiddle.net/RrAWs/

(まだバグがあり、これで解決できるのは 5 つまでの質問のみです。)

于 2013-04-03T05:53:15.403 に答える