jQuery ui কথোপকথন লোড-কলব্যাক পরে শিরোনাম পরিবর্তন


111

আমি এই ইউআই ডায়ালগে কোনও ফর্ম জমা দেওয়ার পরে আমি কোনও ইউআই ডায়ালগ থেকে শিরোনামটি পরিবর্তন করতে চাই। সুতরাং কলব্যাক ফাংশন পরে loadআমার পরামর্শ দেওয়া উচিত, কিন্তু আমি চেষ্টা করেছি এবং ফলাফল ছাড়াই googled।

কারও ধারণা আছে?

উত্তর:


258

কথোপকথনের পদ্ধতিগুলি ব্যবহার করে:

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

বা সরাসরি, হ্যাকি যদিও:

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

ভবিষ্যতের রেফারেন্সের জন্য, আপনি jQuery দিয়ে গুগল এড়িয়ে যেতে পারেন। JQuery এপিআই আপনার প্রশ্নের বেশিরভাগ সময় উত্তর দেবে। এই ক্ষেত্রে, ডায়ালগ এপিআই পৃষ্ঠা । মূল পাঠাগারটির জন্য : http://api.jquery.com


8
সাবধান হন যে উপরের "হ্যাকি" সংস্করণটি পৃষ্ঠায় সমস্ত সংলাপের শিরোনাম পরিবর্তন করবে (আপনি যদি একাধিক তৈরি করেছেন তবে)।
camainc

1
আমি কি একাধিক বিকল্প পাস করতে পারি?
themhz

3
@ বর্তমান সংস্করণে থেমিস এমন একটি .option()পদ্ধতি রয়েছে যা একটি অবজেক্টকেও গ্রহণ করে, options(options)এখানে দেখুন: api.jqueryui.com/dialog/# মেমোরি- ওপশন
নিক ক্র্যাভার

"(" # ডায়ালগ ") dialog ;, শিরোনাম: "পরীক্ষা"})। ডায়ালগ ("উন্মুক্ত");
হোয়াইটল্ফজা

যেহেতু আমার উত্তরটি এখনও অনেক মনোযোগ পাচ্ছে, তাই আমি এটি এখানে পোস্ট করব .. 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

জ্যাকোরি ডায়ালগ শিরোনামে কাস্টম এইচটিএমএল স্থাপন করতে নিক ক্র্যাভারের হ্যাক আইডিয়াটির বর্ধন:

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

যখন আমার দরকার নেই তখন আমি হ্যাকি না হওয়া পছন্দ করি এবং ইতিমধ্যে এইচটিএমএল শিরোনাম সেট করার একটি জ্যাকেই-অনুমোদিত অনুসারে: টাইটেল পদ্ধতিটি ওভাররাইড করে। : এটা ইতিমধ্যেই এই এইরকম উত্তর দেন মধ্যে আবৃত হচ্ছে stackoverflow.com/questions/14488774/...
cincodenada

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 কথোপকথনে এমন কোনও বৈশিষ্ট্য নেই। দ্বিতীয়টি ডায়ালগের বিষয়বস্তু নিজেই পরিবর্তন করবে, তবে এটি ব্যবহারকারী যা বলছিলেন তা নয় not এবং এটি idহ'ল ইয়োরু ডায়ালগটি হ'ল #dialog
পেরে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.