11

この30分間苦労してきたので、皆さんがこれを手伝ってくれるかもしれません。

同じクラスの要素が 4 つあるとします。

<div class="test">hi</div>
<div class="test">hey</div>
<div class="test">yo</div>
<div class="test">What's up</div>

クリックされたものを選択するにはどうすればよいですか?

私はそれを次のように機能させることができました:

$('.test').click(function() {
    $(this).toggleClass("btn-danger btn-success");
});

ただし、ajax 呼び出しの後に成功をクリックせずに起動する必要があるため、次のようなことを実行できるようにする必要があります (試行の失敗):

$('.test', this).toggleClass("btn-danger btn-success"); // This did not work

$(this).find('.test').toggleClass("btn-danger btn-success");  // Also did not work

助言がありますか?本当にありがとう!!

4

4 に答える 4

4

要素の 1 つがクリックされたときに ajax 呼び出しが行われるように聞こえますが、クリックされた要素に応じて ajax 呼び出しで異なる値を渡す必要があります。「onclick」属性を使用する代わりに、次のことができます。

HTML:

<div class="test" data-param1="value1a" data-param2="value2a">hi</div>
<div class="test" data-param1="value1b" data-param2="value2b">hey</div>
<div class="test" data-param1="value1c" data-param2="value2c">yo</div>
<div class="test" data-param1="value1d" data-param2="value2d">What's up</div>

JavaScript:

$('.test').click(function() {
    var $div = $(this);
    $.ajax(url, {
        data: {
            param1: $div.attr('data-param1'),
            param2: $div.attr('data-param2')
        },
        success: function() {
            $div.toggleClass("btn-danger btn-success");
        }
    });
});

もちろん、data-PHP 変数を使用して属性の値を設定します。

于 2013-06-22T18:50:28.597 に答える