0

右矢印をクリックすると、配列の次の要素が入力領域に表示されますか?

$(function(){
    var room = ['1-visiting office', '2-', '3-'];       
    $('#text_holder').val(room[0]);

    $("#rightarrow").click(function(){      
        $('#text_holder').val(room[next]);      
    });
});

これは私のhtmlコードです

<input id="text_holder" name="text_holder"/>
<img src="dev/images/rightarrow.jpg" id="rightarrow" />
4

2 に答える 2

5

配列にはnext関数も何もありません。自分でカウンターを追跡する必要があります。

これは、jQuery を使用dataしてボタンにカウンターを格納する方法です。

$(function(){
    var room = ['1-visiting office', '2-', '3-'];
    $('#text_holder').val(room[0]);

    $("#rightarrow").data('counter', 0).click(function(){
        var counter = $(this).data('counter')+1;
        $('#text_holder').val(room[counter]);
        $(this).data('counter', counter);
    });
});

最後に到達した後に再度ループしたい場合は、%(モジュラス) 演算子を使用できます。

$(function(){
    var room = ['1-visiting office', '2-', '3-'];
    $('#text_holder').val(room[0]);

    $("#rightarrow").data('counter', 0).click(function(){
        var counter = ($(this).data('counter')+1) % room.length;
        $('#text_holder').val(room[counter]);
        $(this).data('counter', counter);
    });
});

デモ: http://jsfiddle.net/8Fc9w/

于 2012-07-31T19:36:15.067 に答える
1

私はロケットの答えが私のものより好きです。しかし、便利だと思うなら、もう 1 つの方法があります。

$(function(){
    var room = ['1-visiting office', '2-', '3-'];       
    var counter = 0;
    $("#rightarrow").click(function(){      
        $('#text_holder').val(room[counter++]);     
    }).click();
});
于 2012-07-31T19:49:18.670 に答える