0

コメントを確認するためのリンクがいくつかあります

<a class="confirm_btn" href="javascript:confirm_ajax(17)" id="confirm_17">Confirm</a>
<a class="confirm_btn" href="javascript:confirm_ajax(20)" id="confirm_20">Confirm</a>

ワンクリックですべてを一度に確認できるようにしたいのですが、配列内のすべての ID を取得し、バックエンド スクリプトへの 1 回の ajax 呼び出しでそれらを送信する方がおそらく良いことはわかっていますが、何らかの理由でそれを実行せずに各ボタンをクリックすることを好みます.

ここに私のjqコードがあります

function confirm_all(){
        $('.confirm_btn').each(function(index, element) {
                   $(this).trigger('click');
                  // also i've tried  $(this).click();
            console.log($(this).attr('id'));
        });
}

これを実行すると、console.log結果が得られます

confirm_17
confirm_20
confirm_22
confirm_33
confirm_34

しかし、クリック部分は機能しません。confirm_ajax関数を起動すると仮定します...firebugにエラーはありません....ボタンをクリックすると、正常に機能します

4

1 に答える 1

0

trigger('click')添付されたイベント ハンドラーのみを呼び出します。JavaScript がある場合href、それらはトリガーされません。

通常のクリック ハンドラーをリンクに追加するか、代わりに次のようにすることができます。

var idFormat = /confirm_(\d+)/;
$('.confirm_btn').each(function() {
    var btn = $(this);
    var id = parseInt(idFormat.exec(btn.attr('id'))[1], 10);
    confirm_ajax(id);
});
于 2013-06-12T00:49:46.753 に答える