Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
动态创建多个Jquery UI模态对话框,php_Php_Jquery Ui_Jquery Ui Dialog - Fatal编程技术网

动态创建多个Jquery UI模态对话框,php

动态创建多个Jquery UI模态对话框,php,php,jquery-ui,jquery-ui-dialog,Php,Jquery Ui,Jquery Ui Dialog,使用jqueryui“dialog”小部件,我试图动态创建多个模式窗口 在一个php循环中,我动态地创建将触发模态打开的按钮,以及作为模态窗口的div。在同一个循环中,我正在做一个echo并编写javascript来处理模式窗口。我的问题是,我不知道如何准确地编写javascript。目前,我没有得到任何我的模态工作。我应该创建一个函数并在每次循环迭代中调用它,还是应该在每次迭代中发布整个document.ready例程 <script type="text/javascript"

使用jqueryui“dialog”小部件,我试图动态创建多个模式窗口

在一个php循环中,我动态地创建将触发模态打开的按钮,以及作为模态窗口的div。在同一个循环中,我正在做一个echo并编写javascript来处理模式窗口。我的问题是,我不知道如何准确地编写javascript。目前,我没有得到任何我的模态工作。我应该创建一个函数并在每次循环迭代中调用它,还是应该在每次迭代中发布整个document.ready例程

    <script type="text/javascript">

            function uiready(a){
   $( "#" + a ).dialog({
            autoOpen: false,
            height: 650,
            width: 625,
            modal: true
 });
 $( "#Button" + a )

            .click(function() {
                $( "#" + a ).dialog( "open" );
            });

          };
        </script> 




     <?php


                //This area should build details buttons if there is a program with an amount greater than $0

               for ($i=1; $i<17; $i++){
                   $ID= $_POST["textfield" . $i];

                   if ($ID!=""){

                        echo '<script type="text/javascript">

                           uiready(' . $i . ');
                    </script>';

                   //build a button with the ID equal the post value
                   echo "<input type=\"button\" value=\" $ID \" id=\"Button" . $i . "\"            class=\"btnmargin\" />";

                   //next build the actual div
                   echo '<div class="printable' . $i . '" id="' . $i . '">
                <table cellspacing="0" cellpadding="10" border="2px">
                //for the sake of space I have not included the entire table markup
                </table>
        </div>';



                   }
                }



                ?>

功能uiready(a){
$(“#”+a).对话框({
自动打开:错误,
身高:650,
宽度:625,
莫代尔:对
});
$(#按钮+a)
。单击(函数(){
$(“#“+a).对话框(“打开”);
});
};

正如我所看到的,您不需要将JavaScript与PHP混合在一起就可以做您想要做的事情。您只需要为“printable$1”div指定相同的类名(例如“printable”),然后使用JS/jQuery完成其余部分。在标记后添加如下内容(未经测试):


$('.printable')。每个(函数(){
var对话框=$(此);
对话({
自动打开:错误,
身高:650,
宽度:625,
莫代尔:对
});
dialog.prev()。单击(函数(){
dialog.dialog(“打开”);
});
}

正如我所看到的,你不需要将JavaScript和PHP混合在一起来做你想做的事情。你只需要给“printable$1”div赋予相同的类名(例如“printable”),然后用JS/jQuery完成其余部分。在标记后添加类似的内容(未测试):


$('.printable')。每个(函数(){
var对话框=$(此);
对话({
自动打开:错误,
身高:650,
宽度:625,
莫代尔:对
});
dialog.prev()。单击(函数(){
dialog.dialog(“打开”);
});
}

我无法使用jquery ui使多个模态正常工作。相反,我使用并遵循了

我无法使用jquery ui使多个模态正常工作。相反,我使用并遵循了

不幸的是,这不起作用。谢谢你的帮助。我只是将其全部废弃,不幸的是,这不起作用。谢谢你的帮助但他帮了我,我只是把它全部扔掉,用了
<script type="text/javascript">
$('.printable').each(function() {
    var dialog = $(this);
    dialog.dialog({
        autoOpen: false,
        height: 650,
        width: 625,
        modal: true
    });
    dialog.prev().click(function() { 
        dialog.dialog("open");
    });
}
</script>