लोड-कॉलबैक के बाद jQuery ui संवाद परिवर्तन शीर्षक


111

इस UI डायलॉग में फ़ॉर्म सबमिट करने के बाद मुझे UI डायलॉग से शीर्षक बदलना पसंद है। इसलिए कॉलबैक-फंक्शन में loadमुझे सुझाव देना चाहिए, लेकिन मैंने बिना नतीजे के कोशिश की और गुगली की।

किसी को एक विचार है?

जवाबों:


258

संवाद विधियों का उपयोग करना:

$('.selectorUsedToCreateTheDialog').dialog('option', 'title', 'My New title');

या सीधे, हालांकि हैकी:

$("span.ui-dialog-title").text('My New Title'); 

भविष्य के संदर्भ के लिए, आप jQuery के साथ Google को छोड़ सकते हैं। JQuery एपीआई ज्यादातर समय आपके सवालों का जवाब देगा। इस स्थिति में, संवाद API पृष्ठ । मुख्य पुस्तकालय के लिए: http://api.jquery.com


8
खबरदार कि ऊपर "हैकी" संस्करण पृष्ठ पर सभी संवादों के शीर्षक को बदल देगा (यदि आपने एक से अधिक बनाए हैं तो)।
14 अक्टूबर को कैमैनक

1
क्या मैं कई विकल्प पारित कर सकता हूं?
थीमज़

3
वर्तमान संस्करण में @themis है एक .option()विधि है जो एक वस्तु के रूप में अच्छी तरह से लेता है, को देखने के options(options)लिए यहाँ: api.jqueryui.com/dialog/#method-option
निक Craver

$ ("# संवाद")। संवाद ({autoOpen: false, शो: {प्रभाव: "अंधा", अवधि: 1000}, छिपाना: {प्रभाव: "विस्फोट", अवधि: 1000}, करीब: फ़ंक्शन () {; }, शीर्षक: "परीक्षण"})। संवाद ("खुला");
व्हाइटवॉज़ा

चूँकि मेरे उत्तर पर अभी भी बहुत ध्यान दिया जा रहा है, मैं इसे यहाँ पोस्ट भी करूँगा .. stackoverflow.com/a/17745795/1315125
इगोर एल।

14

मुझे सरल समाधान मिल गया है:

$('#clickToCreate').live('click', function() {
     $('#yourDialogId')
         .dialog({
              title: "Set the title to Create"
         })
         .dialog('open'); 
});


$('#clickToEdit').live('click', function() {
     $('#yourDialogId')
         .dialog({
              title: "Set the title To Edit"
         })
         .dialog('open'); 
});

उम्मीद है की वो मदद करदे!


3

कस्टम क्रेता HTML को jquery डायलॉग शीर्षक में डालने के लिए निक क्रेवर द्वारा हैकी विचार की वृद्धि:

var newtitle= '<b>HTML TITLE</b>';
$(".selectorUsedToCreateTheDialog").parent().find("span.ui-dialog-title").html(newtitle);

जब मुझे नहीं करना है, तो मैं हैक नहीं होना पसंद करता हूं, और HTML शीर्षक सेट करने के लिए पहले से ही एक jquery-endorsed तरीका है: _title पद्धति को ओवरराइड करना। यह पहले से ही इस SO उत्तर में शामिल है: stackoverflow.com/questions/14488774/…
सिनकोडेनडा

2

मैंने निक के परिणाम को लागू करने की कोशिश की जो है:

$('.selectorUsedToCreateTheDialog').dialog('option', 'title', 'My New title');

लेकिन यह मेरे लिए काम नहीं किया क्योंकि मैं 1 पृष्ठ पर कई संवाद था। ऐसी स्थिति में यह केवल पहली बार शीर्षक को सही करेगा। आदेशों को पूरा करने की कोशिश नहीं की:

    $("#modal_popup").html(data);
    $("#modal_popup").dialog('option', 'title', 'My New Title');
    $("#modal_popup").dialog({ width: 950, height: 550);

मैंने पृष्ठ पर प्रत्येक संवाद के जावास्क्रिप्ट फ़ंक्शन तर्कों में शीर्षक जोड़कर इसे ठीक किया:

function show_popup1() {
    $("#modal_popup").html(data);
    $("#modal_popup").dialog({ width: 950, height: 550, title: 'Popup Title of my First Dialog'});
}

function show_popup2() {
    $("#modal_popup").html(data);
    $("#modal_popup").dialog({ width: 950, height: 550, title: 'Popup Title of my Other Dialog'});
}

0

और भी बेहतर!

    jQuery( "#dialog" ).attr('title', 'Error');
    jQuery( "#dialog" ).text('You forgot to enter your first name');

पहली पंक्ति संवाद शीर्षक नहीं बदलेगी। JQuery UI संवाद में ऐसी कोई विशेषता नहीं है। दूसरा एक संवाद की सामग्री को स्वयं बदल देगा, लेकिन यह वह नहीं है जो उपयोगकर्ता पूछ रहा था। और idयोरू डायलॉग का यही अर्थ है #dialog
पेरे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.