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
    }); 
}

“例如点击而不是警报(工作)我想获得警报(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 回答