JQuery UI问题,如何在对话框中添加变量

时间:2009-08-26 15:38:05

标签: jquery jquery-ui user-interface

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

正如你在上面看到的那样,我试图打开一个带有宽度和高度传入参数的对话框,但是当我尝试在这一行传入宽度值时:

$('#dialog')。dialog('option','width',width);

它不起作用,任何想法为什么或如何绕过它?

由于

2 个答案:

答案 0 :(得分:2)

我想通了,你必须出于某种原因把它放在它周围。

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

而不是

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

非常有趣

答案 1 :(得分:1)

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

会产生一个可变宽度,比如300px,而不是.dialog选项需要的300。

尝试做一个parseInt:

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

然后只将它传递给.dialog选项。