【问题标题】:Width of dialog when used in a loop在循环中使用时对话框的宽度
【发布时间】:2018-02-20 17:23:47
【问题描述】:

当我在循环中使用它时,我在控制对话框的宽度时遇到了问题(我在 for 循环中为每个选项都有一个对话框)。 我的代码基于此示例:http://api.jqueryui.com/dialog/#entry-examples,当我按原样运行此示例时,宽度函数运行良好。 添加循环功能,然后widht不起作用。

有谁知道怎么回事?

我的代码:

<?php    
$cars = array("Audi", "BMW", "Mercedes");

for($n=0;$n< sizeof($cars);$n++)
{
    echo '<button class = "opener" index='.$n.'>'.$cars[$n].'</button> <br>';

    echo '<div id="dialog-'.$n.'" title="'.$cars[$n].'">';
        echo 'hey';
    echo '</div>';
}
?>

<link rel="stylesheet" 
href="//code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
    var i;
    $( "#dialog-"+i ).dialog({ 
        autoOpen: false,
        height: '400',
        width: '600',
        modal: true,

        close: function() {
        }
    });

    $('.opener').on("click", function(){
        i = this.getAttribute("index");
        $('#dialog-'+i).dialog().dialog('open');
        return false;
    });
} );
</script>

【问题讨论】:

  • 循环中i的值是多少
  • @DVP,你的控制台有什么错误吗?
  • 您传递了string,但对话框期望该值为number
  • @ArunPJohny - i 的值与 $n 相同,所以它是从 0 到 2。@AlexanderSolonik - 我在控制台中没有收到任何错误。 @lolbas - 我不确定你的意思是什么?
  • @DVP 您将 widthheight 参数作为字符串传递。根据您提供的链接,它应该是数字,即不是width: '600',而是width: 600

标签: php jquery jquery-ui-dialog


【解决方案1】:
$(function () {
    var i;
    var objDialogOptions = {
        autoOpen: false,
        height: '400',
        width: '600',
        modal: true,
        close: function () {
           //Callback on close of dialog
        }
    };

    $('.opener').on("click", function () {
        i = this.getAttribute("index");
        $('#dialog-' + i).dialog(objDialogOptions).dialog('open');
        return false;
    });
});

希望这能解决问题

【讨论】:

    猜你喜欢
    • 2011-02-07
    • 2014-07-13
    • 1970-01-01
    • 2018-02-25
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    相关资源
    最近更新 更多