$('.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);
它不起作用,任何想法为什么或如何绕过它?
由于
答案 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选项。