Вопрос JQuery UI, как вы добавляете переменные в диалоговое окно - PullRequest
1 голос
/ 26 августа 2009
$('.openDialog').click(function(event){
        var width=$(this).attr('width');
        var height=$(this).attr('height');
        alert(width + ' ' + height);
        event.preventDefault();
        $("#dialog").dialog({autoOpen: false, modal: true});
        $('#dialog').dialog('option', 'width', width);
        $('#dialog').dialog('open');
        $('#dialog p').load('http://pagetoload.com/page.html .content');
});

Как вы можете видеть выше, я пытаюсь открыть диалоговое окно с переданным параметром width и height, однако когда я пытаюсь передать значение width в этой строке:

$ ('# dialog'). Dialog ('опция', 'ширина', ширина);

это не работает, есть идеи почему или как это обойти?

Спасибо

Ответы [ 2 ]

2 голосов
/ 26 августа 2009

Я понял это, по какой-то причине вы должны поставить вокруг него [].

$('#dialog').dialog('option', 'width', [width]);
$('#dialog').dialog('option', 'height', [height]);

вместо

$('#dialog').dialog('option', 'width', width);
$('#dialog').dialog('option', 'height', height);

Очень интересно

1 голос
/ 24 мая 2010
var width=$(this).attr('width'); //width = 300px

даст вам переменную ширину, скажем, 300px вместо 300, как то, что нужно для параметров .dialog.

Попробуйте сделать parseInt:

width = parseInt($(this).attr('width')); //width = 300

Тогда только передайте его опции .dialog.

...