1

ボタン配列を作成してjQueryダイアログに追加することは可能ですか?

これらの線に沿った何か。forループ内のエラーのあるコードを許してください。これを行う方法がまったくわからないだけです。

function setAutoDialog()
{
    var testArray = ["T1", "T2"];
    $('#autoDialog').dialog({
        autoOpen: false,
        width: 'auto',
    });
    var buttons = {};
    for(var i=0; i<testArray.length; i++){
        buttons += [testArray[ix] : Test()]
    }
    $('#autoDialog').dialog('option', 'buttons', buttons);
}

function Test()
{
    alert("worked");
}
4

1 に答える 1

2

このようなものが動作するはずです:

function setAutoDialog(){
    var testArray = ["T1", "T2"];

    var testFunction = function () {
        alert("worked");
    }

    var myButtons = {};

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

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

「たとえば、alert(worked) の代わりにクリックすると、alert(buttonClicked.val()) を取得したいですか?」次のようになります。

function setAutoDialog(){
    var testArray = ["T1", "T2"];

    var myButtons = {};

    for(var i = 0; i < testArray.length; i++){
        var testFunction = function () {
            alert(testArray[i]);
        }

        myButtons[testArray[i]] = testFunction;
    }

    $('#autoDialog').dialog({
        autoOpen: false,
        width: 'auto',
        buttons : myButtons
    }); 
}
于 2013-01-17T23:15:46.317 に答える