在单个网页中双jQuery

时间:2014-04-22 07:28:30

标签: jquery-ui jquery-ui-dialog

由于我无法在单个页面中创建两个表单,因此我尝试使用两个不同的jQuery:

  

$(document).ready(function(){

使用不同的按钮打开相同的表单,因为功能提供了自定义新标题和按钮的功能。

这是我的代码:

 <p><button id="newuserbutton" >Create New User</button></p>
 <p><button id="edituser" >Update User</button></p>

 <script "text/javascript">

    $(document).ready(function () {

        $('#div1').dialog({

            modal: true,
            autoOpen: false,
            title: 'Create new user',
            buttons: {
                "Create User": function () {
                    $(this).dialog("");
                },
                "Cancel": function () {
                    $(this).dialog("close");
                }
            }
        });



        $('#newuserbutton').click(function () {
            $('#div1').dialog('open');
            $("#div1").css("color", "grey");
            $("#div1").dialog({ minHeight: 300, minWidth: 550 });
            //   $("*").css('color', 'red');
        });



    });

</script>


<script>

     $(document).ready(function () {

        $('#div1').dialog({

            modal: true,
            autoOpen: false,
            title: 'Edit user',

            buttons: {
                "Save Changes": function () {
                    $(this).dialog("");
                },
                "Delete": function () {
                    $(this).dialog("alert");
                },
                "Cancel": function () {
                    $(this).dialog("close");
                }
            }


        });

        $('#edituser').click(function () {
            $('#div1').dialog('open');
            $("span.ui-dialog-title").text('Edit User');
            $("#div1").css("color", "grey");
            $("#div1").dialog({ minHeight: 300, minWidth: 500 });
        });

    });


</script>

我单击不同的按钮,但是一直打开三个按钮,这是第二个jquery。

我如何一起使用这些多个jQuery?或者,如果有任何方法我可以在jQuery函数中创建一个新的表单?谢谢你的建议。

1 个答案:

答案 0 :(得分:1)

问题是你在id #div1的同一个div上初始化jquery ui widget模式两次。总而言之,这就是你在做的事情:

$(#div1)
    .dialog({...})
    .dialog({...});

当然,当你打电话给$(#div1).dialog('open')时,模态将根据第二次初始化打开,也就是说一个带有3个按钮的模态&#34;保存更改&#34;,&#34;删除& #34;和&#34;取消&#34;。

您必须使用2个不同的div(最简单的方式)或仅使用一个div并在模态打开时管理模态内容(最干净的方式)。

我写了这个 jsFiddle 来说明第二种方式;)