jquery ui在同一页面中有多个弹出窗口

时间:2011-06-30 13:53:40

标签: javascript jquery forms jquery-ui

我正在使用jquery以便在网站中弹出一些表单,问题是我希望能够弹出多个表单,而我不知道如何让jquery不止一个ID 。代码:

    $(function() {

    $( "#dialog:ui-dialog" ).dialog( "destroy" );


    $( "#dialog-form" ).dialog({
        autoOpen: false,
        height: 700,
        width: 750,
        modal: true,
        buttons: {

            Cancel: function() {
                $( this ).dialog( "close" );
            }
        },
        close: function() {
            allFields.val( "" ).removeClass( "ui-state-error" );
        }
    });

    $( "#create-user" )
        .button()
        .click(function() {
            $( "#dialog-form" ).dialog( "open" );
        });
});

我可以让按钮适用于ID:#create-user1#create-user2等等吗?

2 个答案:

答案 0 :(得分:2)

你应该能够添加多个以逗号分隔的选择器,例如

$( "#create-user1, #create-user2").dialog() 

请参阅:http://api.jquery.com/multiple-selector/

编辑:评论后

这应该有用,它是未经测试的,可能不是最有效的,但它是一个开始!

var count = 1;
var selectorString = "";
while ($("#create-user" + count).length > 0) { // .length check to see if the element is present
    count++;
    selectorString += "#create-user" + count + " ";
}
$( selectorString ).dialog() 

答案 1 :(得分:0)

在create-user-1中,添加<div id="create-user-1"><div id="a">First content goes here</div></div>和第二个<div id="create-user-2"><div id="b">Second Content goes here</div></div>,您可以访问它的内容并使用正确的选择器。

然后$( "#create-user1, #create-user2").dialog()你应该没事。