2009-09-30 21 views
5

के शीर्ष पर क्लोन jqueryui संवाद बटन मेरे पास एक लंबा संवाद बॉक्स है जिसमें सहेजें और रद्द करें बटन हैं जो संवाद बॉक्स में डेटा पर कुछ क्रियाएं करते हैं और साथ ही संवाद बंद करते हैं।संवाद

क्या इन बटनों को डुप्लिकेट करना संभव है ताकि वे संवाद के शीर्ष पर और साथ ही नीचे प्रदर्शित हो सकें?

मैं इसे मैन्युअल रूप से स्पोरेटिक परिणामों के साथ करने में सक्षम हूं। क्या मैं संवाद init में बनाए गए सटीक बटन क्लोन कर सकता हूं? मुझे पता है कि बटन में आईडी नहीं है हालांकि ...

धन्यवाद!

उत्तर

2

हां, आप यह कर सकते हैं। सटीक jQuery स्क्रिप्ट में प्रयोग किया चयनकर्ता अपने बटन प्रदर्शित करने के लिए इस्तेमाल किया HTML तत्व पर निर्भर करेगा, लेकिन क्लोन करने के लिए बटन और उनके ईवेंट हैंडलर्स कुछ तरह होगा:

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

उन्हें कुछ कंटेनर कि स्थित है में जोड़ने के लिए संवाद के शीर्ष पर: clone के लिए बाहर डॉक्स

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

चेक।

+0

धन्यवाद मार्वे में लाइन 445 के आसपास सीएसएस के लिए निम्न जोड़ें। मेरे पास कई संवाद हैं हालांकि सभी चयनकर्ताओं ने इन बटनों के कई क्लोन बनाने का प्रयास किया है। क्षमा करें मुझे यह उल्लेख करना चाहिए था कि मेरे पास इस ऐप में कई संवाद हैं। – mattmac

2

संवाद विजेट इस व्यवहार को बाहर-द-बॉक्स प्रदान नहीं करता है। आप स्वयं व्यवहार को हैक कर सकते हैं लेकिन जब आप नए jquery-ui रिलीज़ में अपग्रेड करते हैं तो यह टूट सकता है। यहाँ कैसे मैं इसे पूरा करेंगे:

$('#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

के रूप में सरल इस

के रूप में jQuery ui सीएसएस

.ui-dialog .ui-dialog-buttonpane 
{ 
position: absolute; top: 35px; width: 98%; 
} 
संबंधित मुद्दे