2012-04-25 3 views
14

Можно ли установить ID для кнопок в диалоговом окне интерфейса jQuery, чтобы я мог ссылаться на них позже через jQuery? Например, запускать события, отключать и т. Д.?Установить идентификатор кнопки диалога jQuery UI?

... 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(); 

ответ

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

Nice не знал, что будет работать, как не документированы, но он делает. – GillesC

+2

[документация] (http://jqueryui.com/demos/dialog/#option-buttons) не говорит об идентификаторе, но имеет текст и нажмите :) – mprabhat

+0

Да, но оба они не являются атрибутами, поэтому я думал, что настройка атрибуты не будут работать. С удовольствием узнаем об этой недокументированной функции. Те, кто отсутствует в документах, всегда самые лучшие, чтобы знать :) – GillesC

0

Не через то, как вы хотите, как API не предоставляет эти возможности, однако, если вы посмотрите на разметке, порожденной в диалоговом окне вы должны быть в состоянии захватить какой бы элементы вам нужно, и связать их, как вы хотите или добавить к ним идентификаторы. Вот разметки, как найти на странице документации (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 запросы в модальный элемент контекст и получить доступ к ним таким образом.

Смежные вопросы