将参数传递给document.ready()调用

时间:2009-10-14 05:30:24

标签: jquery jquery-ui

我正在使用jQuery UI对话框,但不是重复对话设置5次,我想知道我是否能以某种方式将div id作为参数传递给document.ready()调用或当我调用有问题的div时?

例如>

$(document).ready(function(){ 

$(function() {
  location.hash = 'PAGETOP';
});

   $("#dialogou").dialog({
            autoOpen: false,
            closeOnEscape: false,
            resizable: false,
            modal: true,
            draggable: true,
            position:  ["center", 100],
            buttons: {
              'Ok': function() {               
                      $(this).dialog("close"); 
                      closeReq();
                    }
        }
    });  
 });

基于以上所述,如果我有以下条件:

  if (document.getelementbyId("ERROR_OU").value == "Y")
    $('#dialogou').dialog('open');

我希望能够将div id dilaogou更改为dialogao,但仍然使用上述相同的调用,但显然将dilaogou换成了dilaogao。

这是否可行 - 如果是这样,会感激一些帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

在进行初始化时,只需创建一个与任何id:s匹配的选择器:

$("#dialogou, #dialogao, #dialogxx, #dialogyy, #dialogzz").dialog({
...

现在你已经为所有元素设置了对话框,你可以在任何元素上调用dialog('open')。

答案 1 :(得分:0)

如何使用数组:

$(document).ready(function(){ 

var dialog_ids=['dialogou', 'dialaogao'];

$(function() {
  location.hash = 'PAGETOP';
});

for(id in dialog_ids)
{
       $("#"+dialog_ids[id]).dialog({
                autoOpen: false,
                closeOnEscape: false,
                resizable: false,
                modal: true,
                draggable: true,
                position:  ["center", 100],
                buttons: {
                  'Ok': function() {               
                          $(this).dialog("close"); 
                          closeReq();
                        }
            }
        });  
     });
 }