Jquery对话框干扰它们

时间:2015-04-22 15:36:21

标签: javascript jquery

我不是一个js家伙。我有两个js函数。

    $(document).ready(function () {

    $(function () {
        $("#dialog").dialog({
            autoOpen: false,
            modal: true,
            width: 500
        });
        $("#button").on("click", function () {
            $("#dialog").dialog("open");
        });
    });  
});

function editar(id) {
    $.ajax({
        url: "../controllers/editarEvento_controller.php?idEvento="+id,
        success: function (data) {
            $("#editarEvento").html(data).dialog({
                modal: true,
                width: 500
            }).dialog("open");
        }
    });
}

HTML按钮和div的外观。

<input id="button" type="button" class="botonAnadir" value="+Añadir evento">
<input type='button' class='botonGris' onclick='editar(some id);' value='Editar'/>

<div id="dialog" title="Añadir un evento"> a form inside </div>

<div id="editarEvento" title="Editar evento"></div>

有一次我点击editarEvento,我再也无法打开对话框了,并抛出了我:

  

“错误:在初始化之前无法调用对话框上的方法;   试图调用方法'open'“。

我想它必须是准备好的函数,我不知道,我只是从某些地方获取函数:/

感谢。

1 个答案:

答案 0 :(得分:0)

php HTML中打印<?php echo $id; ?>变量的值时,使用以下语法:{/ 1}}

<input type='button' class='botonGris' onclick='editar("<?php echo $id; ?>");' value='Editar'/>
                                                        ^^^^^^^^^^^^^^^^^^

您不必同时使用

  • $(document).ready(function () {
  • $(function () {

两者都是一样的。你可以使用其中任何一个,如:

$(function () {//or $(document).ready(function () {
    $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        width: 500
    });
    $("#button").on("click", function () {
        $("#dialog").dialog("open");
    });
});