1

jQuery ダイアログでクリックされたボタンのコンテキストを取得できる必要があります。

ボタン名配列を渡してダイアログを自動作成する関数があります。機能はこんな感じ。

function setAutoDialog(buttonNameArray){
    var testArray = buttonNameArray;
    var passDataBack = function () {
        var test = $('.getButtonClicked').text(); // NEED THE TEXT FROM THE BUTTON THAT WAS CLICKED HERE
        $(this).dialog("close");
    }
    var myButtons = {};

    for(var i=0; i<testArray.length; i++){
        myButtons[testArray[i]] = passDataBack;
    }

    $('#autoDialog').dialog({
        autoOpen: false,
        dialogClass: 'autoDialog',
        width: 'auto',
        buttons : myButtons
    });
}

ダイアログでクリックされたボタンの値を取得するためにどのセレクターを使用すればよいかわかりません。たとえば、「キャンセル」という名前のボタンがある場合、「キャンセル」をクリックすると、そのテキストを取得して、そのテキストに対して操作を実行する必要があります。(メイン画面に戻します)

4

2 に答える 2

0

理解した。

ハンドラーで、クリック イベントを関数に渡します。そのようです。

$('#button1').live('click', function () {    
    setAutoDialog(buttonArray, $(this));
    $( "#autoDialog" ).dialog("open");
});

次に、関数でイベントを参照し、ターゲットから textContent を取得します。

function setAutoDialog(buttonNameArray, clickEvent){
    var testArray = buttonNameArray;
    var passDataBack = function (clickEvent) {
        var t2 = clickEvent.target.textContent;

        $(this).dialog("close");
    }
    var myButtons = {};

    for(var i=0; i<testArray.length; i++){
        myButtons[testArray[i]] = passDataBack;
    }

    $('#autoDialog').dialog({
        autoOpen: false,
        dialogClass: 'autoDialog',
        width: 'auto',
        buttons : myButtons
    });
}
于 2013-01-18T15:54:28.680 に答える
0

この場合、コールバック関数を使用します

ボタン : [ { label: "Close", callback: function() { App.ModalDialog.close(); } // コールバック
} ]

于 2013-01-18T15:45:10.297 に答える