设置jQuery UI对话框按钮ID?

时间:2012-04-25 09:26:19

标签: javascript jquery jquery-ui

是否可以在jQuery UI对话框中设置按钮的ID,以便稍后通过jQuery引用它们?例如,触发事件,禁用等?

... in the dialog setup ...
buttons: {               
    "Sök": function () {
        var bValid = true;
    },
    "OK": function () {
        if (OK()) {
            getStuffNoteringar($("#txtStuffId").val());
            $(this).dialog("close");
        }
    }

.... later on in some javascript code....

$('#OK').click(); 

3 个答案:

答案 0 :(得分:42)

$("#myDialog").dialog({
  buttons :  { 
     "MyButton" : {
         text: "OK",
         id: "okbtnid",
         click: function(){
             var bValid = true;
         }   
      } 
   }
});

答案 1 :(得分:2)

或者你可以把它作为一个数组来做:

$("#myDialog").dialog({
   buttons :  [{ 
     text: "OK",
     id: "ok",
     click: function(){
         alert("clicked");
     }   
   }]
});

http://docs.jquery.com/UI/Dialog

答案 2 :(得分:0)

不是通过你想要的方式,因为API不提供这些选项,但是如果你查看对话框生成的标记,你应该能够抓住你需要的任何元素并根据需要绑定它们或添加id到他们。以下是文档页面的标记(http://jqueryui.com/demos/dialog/)

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable">
   <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix">
      <span id="ui-dialog-title-dialog" class="ui-dialog-title">Dialog title</span>
      <a class="ui-dialog-titlebar-close ui-corner-all" href="#"><span class="ui-icon ui-icon-closethick">close</span></a>
   </div>
   <div style="height: 200px; min-height: 109px; width: auto;" class="ui-dialog-content ui-widget-content" id="dialog">
      <p>Dialog content goes here.</p>
   </div>
</div>

如果它是模态内容中的按钮,那么你可以在模态元素上下文中进行CSS查询,并以这种方式访问​​它们。