0

以下のようにjQuery UIダイアログにボタンを動的に設定しています。

arrButton = {};
var i = 0;
for (i = 0; i < dialog_buttons.length; i++) {

    for (var key in dialog_buttons[i]) {
        arrButton[key] = {
            id: key,
            text: dialog_buttons[i][key],
            click: function () {
                test($('#' + key));
            }
        };
    }

}

function test(value) {
    if (value.selector == "#confirm") {
        confirmthis();
    }
    if (value.selector == "#cancel") {
        cancelthis();
    }
}
$("#" + div.id).dialog({
    modal: true,
    buttons: arrButton
});

ボタンをクリックすると、キーは反復の最後の値になります。キー確認とキャンセルがあるとしましょう。ボタンがクリックされると、キー パラメータはキャンセルになります。

そのため、ダイアログからボタンをクリックすると、どのボタンが押されたかを知りたいです。

上記の問題を再現するフィドルを見つけてください。

http://jsfiddle.net/DOmEl/qNGEw/11/

これにはネストされたダイアログが含まれており、最初のダイアログの [はい] または [いいえ] をクリックするとトリガーされます。2 番目のダイアログが表示されると、両方のボタンは無効になります。

4

1 に答える 1

0

なぜこれを使用していないのですか?

click: function () {
      test($('#' + jQuery(this).attr('id')));
}
于 2013-09-19T12:11:57.427 に答える