Строка title: 'Edit box' + ' ' + box
запускается при создании экземпляра вашего диалога: я полагаю, вы делаете это на $(document).ready
.В этот момент ваша переменная box
не определена.
Когда вы устанавливаете box
для события click
, это слишком поздно - заголовок уже установлен.
См. этот пост для получения дополнительной информации.
РЕДАКТИРОВАТЬ
Вот демонстрация одного решения для этого:
HTML
<button data-title="Apple">OPEN 1</button>
<button data-title="Banana">OPEN 2</button>
<div id="MyDialog">
Example Dialog Content
</div>
JQUERY
var globalTitle = ''; // Your global variable
// Startup operations
$(function () {
$('#MyDialog').hide();
$('button').click(function () {
openMyDialog($(this).data('title'))
});
});
// Open the dialog using the global myTitle variable
function openMyDialog(customTitle)
{
globalTitle = customTitle;
$('#MyDialog').dialog({title : globalTitle});
}
Обратите внимание на использование атрибутов data-
в стиле HTML5, которые качаются и доступны в jQuery через функцию .data()
.Также обратите внимание, что я использовал глобальную переменную, чтобы показать вам, что ее можно использовать.Однако в этом нет необходимости - лучше всего передать customTitle
прямо в вызов dialog()
, то есть $('#MyDialog').dialog({title : customTitle});