заголовок диалога jquery не определен с использованием глобальной переменной - PullRequest
0 голосов
/ 28 июля 2011

Я установил переменную в своем коде, а затем сделал ее глобальной, но по какой-то причине в диалоговом окне она отображается как «неопределенная».Вы не можете иметь вар в заголовке?Спасибо

Событие In .click

box = $('#EB_custref').val();

Вне функции

var box;

В параметрах диалога

title: 'Edit box' + ' ' + box,

Ответы [ 2 ]

2 голосов
/ 28 июля 2011

Строка 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});

0 голосов
/ 28 июля 2011
alert($('#EB_custref').val())

Убедитесь, что его возвращаемое значение или нет

и, если возможно, укажите больше кода /

...