0

クラス「allas」のボタンをクリックすると、jqueryがボタンのテキストをID「inputbox」の入力に追加する必要があります。これまでのところ、すべてうまくいきます:

$(document).ready(function() {
    $('.allas').click(function() {
        $('#inputbox').val($(this).text());
    });
});

しかし、最初の問題は、クラス「allas」の別のボタンをクリックすると、コードが常に入力値を置き換えることです。jquery が ; で区切られた値を追加することを望みます。

そして、「より難しい部分だと思います」ユーザーがまだ押したボタンをもう一度クリックすると、ボタンの値が入力から削除されるという元に戻す機能が必要です!

あなたが私を理解してくれることを願っていますか?手伝ってくれてありがとう!

http://jsfiddle.net/WcCTe/

4

2 に答える 2

1

値の履歴を保持してみてください。

フィドルのデモ

HTML

<input type="text" id="inputbox" value=""><br>
<button class="allas">one</button>
<button class="allas">two</button>
<button class="allas">three</button>
<button class="undo">undo</button>

ドキュメントレディ

$(function() 
{
    var history = [''];

    $('.allas').click(function() 
    {
        var $this = $(this);
        var $inputbox = $('#inputbox');
        var value = $inputbox.val() + $(this).text();
        history.push(value) 
        $inputbox.val(value);
    });

    $('.undo').click(function()
    {
        history.pop();
        var lastIndex = history.length - 1;
        var $inputbox = $('#inputbox');
        var value = history[lastIndex];
        $inputbox.val(value);

    }); 
});
于 2013-07-21T12:43:53.440 に答える