web-dev-qa-db-ja.com

ロードコールバック後のjQuery UIダイアログのタイトル変更

このUIダイアログでフォームを送信した後、UIダイアログのタイトルを変更したいです。したがって、loadの後のコールバック関数では、提案する必要がありますが、結果なしで試してみました。

誰にもアイデアがありますか?

109
Guido Lemmens 2

ダイアログメソッドの使用:

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

または直接、しかしハッキー:

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

将来の参照のために、jQueryでgoogleをスキップできます。ほとんどの場合、jQuery APIは質問に答えます。この場合、 ダイアログAPIページ 。メインライブラリの場合: http://api.jquery.com

255
Nick Craver

私はより簡単な解決策を見つけました:

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

お役に立てば幸いです!

13
workdreamer

Nick Craverによる、jqueryダイアログのタイトルにカスタムHTMLを配置するための、ハッキーなアイデアの強化:

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

Nickの結果を実装しようとしました:

$('.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);

ページ上の各ダイアログのjavascript関数の引数にタイトルを追加して、これを修正しました。

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'});
}
2
Tim B.

さらに良い!

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