2010-11-29 33 views
9

Dinamik olarak jquery ui iletişim kutusuna bir düğme eklemek için herhangi bir yol var mı?Dinamik olarak bir iletişim kutusuna bir düğme ekleme

Kullanmayı denedim: $ (this) .add ("button");

+0

Hoş Geldiniz! ... Kut lütfen SSS'yi okuyun http://stackoverflow.com/faq ve size yardımcı olan yanıtları kabul edin. –

+0

Neden bunu yapmak istersin? Diyalog kutusundaki değişikliklere bağlı olarak belirli eylemleri etkinleştirmek isterseniz, yeni düğmeler eklenmeyerek mevcut düğmeleri etkinleştirmeniz/devre dışı bırakmanız gerekir. – aditya

+0

@aditya: Hatta bunu düşündüm .. bu yüzden, bir düğmenin değerini dinamik olarak değiştirmenin bir yolu yok ... – Kut

cevap

9

Bu hak iletişim için jQuery UI sayfasında cevaplanır ... http://jqueryui.com/demos/dialog/ (tıklayın "Seçenekler" sekmesini, ardından "Düğmeler" için bağlantı)

"Get veya init sonra, düğmeler seçeneği ayarlamak". ..

$(".selector").dialog("option", "buttons", { 
"Ok": function() { $(this).dialog("close"); } 
}); 

yeterlidir (daha diyalog olarak kullandığınız ne olursa olsun öğesi) uygun seçici eklemek ve gitmek için iyi olmalıdır.

-3

Sen diyalog

Ex içine bazı HTML kodu eklemek için jQuery html() kullanabilirsiniz. $ ('# your-diyalog-id') html ('');

fazla bilgi: http://api.jquery.com/html/

21

Bazen sonradan da düğmeleri eklemek istiyorum.

var mydialog = ... result of jqueryui .dialog() 
var buttons = mydialog.dialog("option", "buttons"); // getter 
$.extend(buttons, { foo: function() { alert('foo'); } }); 
mydialog.dialog("option", "buttons", buttons); // setter 
+0

Çok yararlı, teşekkürler! –

+0

Zeki. Ancak, bu daha önce başlatılmış olabilecek düğmelerin üzerine yazıyor gibi görünüyor. $ .extend() 'in mevcut olanlarla birlikte yeni düğmeleri ekleyeceğini düşündüm. –

+0

Evet, düğmelerin üzerine yazıyor. Bu yüzden düğmelerin koleksiyonunu almanız, EXTEND kullanarak yeni bir tane eklemeniz ve ardından koleksiyonu yeniden uygulamanız gerekir. http://jsfiddle.net/Z8pZt/ – JJS

İlgili konular