2012-04-25 9 views
14

È possibile impostare l'ID per i pulsanti in una finestra di dialogo dell'interfaccia utente jQuery, in modo che possa fare riferimento a loro in seguito tramite jQuery? Ad esempio, attivare eventi, disabilitare ecc.?Imposta l'ID del pulsante di dialogo dell'interfaccia utente 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(); 

risposta

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

Nizza non sapeva che avrebbe funzionato come non documentato, ma lo fa. – GillesC

+2

[documentazione] (http://jqueryui.com/demos/dialog/#option-buttons) non parla di id ma ha il testo e fa clic :) – mprabhat

+0

Sì, ma entrambi non sono attributi in quanto tali, quindi ho pensato di impostare gli attributi non funzionerebbero. Felice di avere informazioni su questa caratteristica non documentata. Quelli che mancano ai documenti sono sempre i migliori da sapere :) – GillesC

0

Non attraverso il modo in cui si desidera come l'API non fornisce queste opzioni se si guarda al markup generato dalla finestra di dialogo si dovrebbe essere in grado di afferrare qualunque elementi avete bisogno e legarli come si desidera o aggiungere id a loro. Ecco il markup come si trova alla pagina di documentazione (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> 

se si tratta di pulsanti all'interno il contenuto del modal allora si può fare query CSS nell'elemento modale contesto e ottenere l'accesso a loro in questo modo.

Problemi correlati