2009-09-30 19 views
5

İletişim kutusundaki verilerin yanı sıra iletişim kutusundaki verilerde bazı eylemler gerçekleştiren Kaydet ve İptal düğmelerinin bulunduğu uzun bir iletişim kutum var.İletişim kutusunun üstündeki klon jqueryui iletişim düğmeleri

Bu düğmelerin çoğaltılması, iletişim kutusunun üstünde ve altta görüntülenecek şekilde mümkün mü?

Bunu el ile kesin sonuçlar elde edemiyorum. İletişim initinde oluşturulan tam düğmeleri klonlayabilir miyim? Düğmelerin şu anki kimliği yok biliyorum ...

Teşekkürler!

cevap

2

Evet, bunu yapabilirsiniz. jQuery komut kullanılan tam seçici düğmeleri görüntülemek için kullanılan HTML öğesi bağlıdır, ancak düğmeler VE onların olay işleyicileri gibi bir şey olacaktır klonlamak için:

$('.dialogClass button').clone(true); 

bulunduğu bazı kaba bunları eklemek için İletişimin yukarısındaki: clone için docs dışarı

$('.dialogClass button').clone(true).appendTo('.topContainerClass'); 

kontrol edin.

+0

Teşekkür Marve hat 445 civarında css aşağıdakileri ekleyin. Yine de birden fazla iletişim kutusu var, bu yüzden tüm düğmelerde bu düğmelerden birkaç tane klon oluşturmaya çalışıyorum. Maalesef bu uygulamada birden çok iletişim seçeneğim olduğunu belirtmeliydim. – mattmac

2

İletişim kutusu bu davranışı kutudan çıkarmaz. Davranışı kendiniz kesebilirsiniz, ancak yeni jQuery sürümlerine yükselttiğinizde kırılabilir. İşte bunu başarmak gibi olacaktır: Bu

olarak

$('#my-dialog').dialog({ 
     buttons: { 
      'hello world': function() { alert('hello world'); }, 
      'good bye': function() { alert('goodbye'); } 
     }, 
     open: function(event, ui) { 
      // for whatever reason, the dialog isn't passed into us as a paramter, discover it. 
      var dialog = $(this).closest('.ui-dialog'); 

      // create a copy of all the buttons and mark it as a clone (for later) 
      var originalButtons = $('.ui-dialog-buttonpane', dialog) 
      var clonedButtons = originalButtons.clone().addClass('clone'); 
      $('.ui-dialog-titlebar', dialog).after(clonedButtons); 

      // cloning doesn't copy over event handlers, so we need to wire up 
      // the click events manually.  
      $('button', clonedButtons).click(function() { 
       var button = $(this);      
       var buttonIndex = $('button', clonedButtons).index(button); 
       $('button:eq(' + buttonIndex + ')', originalButtons).click(); 
      }); 
     } 
    }); 
3

kadar basit jquery ui css

.ui-dialog .ui-dialog-buttonpane 
{ 
position: absolute; top: 35px; width: 98%; 
} 
İlgili konular