【问题标题】:Create button array for jquery dialog为 jquery 对话框创建按钮数组
【发布时间】:2013-01-19 02:02:31
【问题描述】:

是否可以创建一个按钮数组,然后将其附加到 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");
}

【问题讨论】:

    标签: javascript jquery jquery-ui jquery-ui-dialog


    【解决方案1】:

    这样的事情应该可以工作:

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

    【讨论】:

    • 非常感谢!我认为它的工作方式与此类似,但我无法弄清楚语法。
    • 如何获取该数组中某个按钮的值?例如点击而不是 alert(worked) 我想得到 alert(buttonClicked.val())?
    • 有没有办法做到这一点,而且还可以为每个按钮动态添加不同的背景颜色???
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多