Autor Zpráva
t4nn3r
Profil
Snažím se udělat vlastní onclick return prompt akci pomocí JQuery UI. Nastal ale problém při vytváření tlačítek v dialogu, ty se tam vypisují jako plain text .. nevíte někdo jak je definovat z proměnné ?
Kód:
    $(document).ready(function(){
    	  $("#prompt-button").click(function(e){
    	    e.preventDefault();
    	    var dotaz = $(this).attr('dotaz');
    	    var href = $(this).attr('href');
    	    var t = $(this).attr('t'); // true tlacitko
    	    var f = $(this).attr('f'); // false tlacitko
    	    
    	    $("#content").prepend('<div id="prompt">'+ dotaz +'</div>');
    	    
    		$("#prompt").dialog({
    			bgiframe: true,
    			resizable: false,
    			height:140,
    			modal: true,
    			overlay: {
    				backgroundColor: '#000',
    				opacity: 0.5
    			},
    			buttons: {
    				Ok : function() { // sem bohuzel nemuzu dat promennou, protoze mi to vypise jeji nazev .. 
    				 location.href = href;
    				},
    				No: function() {
    					$(this).dialog('close');
    				}
    			}
    		});
    	    
    	  });
    	});
ah01
Profil
t4nn3r:
Máš na mysli toto:

var options = {
  ...
  buttons: {
    "No": function(){...}
  }
};

var okButtonTitle = "OK Button";
options.buttons[okButtonTitle] = function(){ ... };

$("#prompt").dialog(options);
t4nn3r
Profil
JJ to mám na mysli. díky

Hele zeptám se t ještě na jednu věc:

Ten prompt funguje, ale pouze jen na jedno vyvolani onclick eventu. Při dalším už bohužel ne, takže jsem přidal cancel buttonu redirect sam na sebe.
 location.href = '';



řešení je to sice funkční, ale nelbí se mi .. protože nevím kdy tohle budu používat ve spojení s POST daty , u čehož by to byl problém. Nevíš co s tím ?
Děkuju
fajzen
Profil
t4nn3r:
problém bude asi v tom, že inicializuješ ten dialog vo vnútri eventu onclick... dialog by sa mal inicializovať zatvorený mimo a v evente sa dá iba otvoriť

$(document).ready(function(){
  $("#prompt").dialog({
    autoOpen: false,
    ... // ostatné atribúty
  });

  $("#prompt-button").click(function(e){
    e.preventDefault();
    var dotaz = $(this).attr('dotaz');
    var href = $(this).attr('href');
    var t = $(this).attr('t'); // true tlacitko
    var f = $(this).attr('f'); // false tlacitko
            
    $("#content").prepend('<div id="prompt">'+ dotaz +'</div>');
    $("#prompt").dialog('open');
  });
});

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: