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 jQuery UI对话框窗体,未发送正确的变量_Jquery Ui_Jquery - Fatal编程技术网

Jquery ui jQuery UI对话框窗体,未发送正确的变量

Jquery ui jQuery UI对话框窗体,未发送正确的变量,jquery-ui,jquery,Jquery Ui,Jquery,我正在使用jQuery加载客户信息页面。有一个客户列表,旁边有一个链接: <a href="#" onclick="load_customer(<?php echo $c->id; ?>);return false;">View</a> 那很好用。在我正在加载的页面上,我有一个用于添加新信息的jQueryUI模式对话框表单 <div id="addinfo"> <form><input type="hidden" na

我正在使用jQuery加载客户信息页面。有一个客户列表,旁边有一个链接:

<a href="#" onclick="load_customer(<?php echo $c->id; ?>);return false;">View</a>
那很好用。在我正在加载的页面上,我有一个用于添加新信息的jQueryUI模式对话框表单

<div id="addinfo">
  <form><input type="hidden" name="customer_id" value="<?php echo $c->id; ?>" /></form>
</div>
当您第一次选择客户时,它会正确填充隐藏字段,但即使在选择其他客户后,它也会保持不变

我想通过加载新的客户页面,表单也会重置。。。但很明显,它被存储/缓存在某个地方。如果我在页面中的任何其他位置回显ID,它将正确显示。。。只是不在addinfo分区中


如有任何帮助/建议,将不胜感激!谢谢

经过进一步研究,对话框调用后似乎正在客户端缓存。为了解决这个问题,我只是在弹出div的ID名称后面添加了customerId。。。因此,每个客户页面都有一个唯一的对话框ID


然而,如果它正在缓存这些对话框中的每一个,那么如果您打开了很多对话框,不会有性能损失吗?如何在不刷新整个页面的情况下清除对话框?

经过进一步研究,对话框调用后似乎正在客户端缓存。为了解决这个问题,我只是在弹出div的ID名称后面添加了customerId。。。因此,每个客户页面都有一个唯一的对话框ID

然而,如果它正在缓存这些对话框中的每一个,那么如果您打开了很多对话框,不会有性能损失吗?如何在不刷新整个页面的情况下清除它们?

我想如果更新了addinfo div,它应该会捕获新内容……无论如何,关闭对话框后会破坏对话框,以确保创建新实例:

$("#addinfobutton").click(function(){
    openDialog('#addinfo');
    return false;
});
function openDialog(elm) {
    $(elm).dialog({
        autoOpen:true,
        width:400,
        height:550,
        modal: true,
        close: function() {
            $(this).dialog('destroy');
        }
    });
}
我想如果addinfo div被更新,它应该会捕获新内容……无论如何,这会在关闭对话框后破坏对话框,以确保创建新实例:

$("#addinfobutton").click(function(){
    openDialog('#addinfo');
    return false;
});
function openDialog(elm) {
    $(elm).dialog({
        autoOpen:true,
        width:400,
        height:550,
        modal: true,
        close: function() {
            $(this).dialog('destroy');
        }
    });
}

JQuery对话框在打开内容时不会为您重新加载内容。我倾向于使用AJAX调用替换对话框所在div的内容,或者在打开对话框时调整其中的一些值


如果您想要一个隐藏字段,那么我不会将其放在对话框中,您应该能够从对话框外部检索该值。

JQuery dialog's在您打开它们时不会为您重新加载内容。我倾向于使用AJAX调用替换对话框所在div的内容,或者在打开对话框时调整其中的一些值


如果您想要一个隐藏字段,那么我不会将其放在对话框中,您应该能够从对话框外部检索值。

我假设您正在通过ajax加载一个新的客户页面?这也取代了addinfo div?我想您是通过ajax加载一个新的客户页面?这也代替了addinfo div?谢谢!但是,对于该代码,由于它没有显式地声明元素是对话框,因此它实际上在页面上显示div。还有,当我之前试图破坏对话时。。。其他点击都不行,我没让你来?因为它没有显式地声明元素是对话框,所以它实际上会在页面上显示div,这是否意味着上面的代码为u工作如果它有效,请接受答案,如果没有详细说明,可以帮助你…对不起,没有,它不起作用。包含对话框表单的div在我使用它时显示在页面上。我只想在我点击按钮时显示。我不明白你的意思?是否将其设置为显示:无?谢谢但是,对于该代码,由于它没有显式地声明元素是对话框,因此它实际上在页面上显示div。还有,当我之前试图破坏对话时。。。其他点击都不行,我没让你来?因为它没有显式地声明元素是对话框,所以它实际上会在页面上显示div,这是否意味着上面的代码为u工作如果它有效,请接受答案,如果没有详细说明,可以帮助你…对不起,没有,它不起作用。包含对话框表单的div在我使用它时显示在页面上。我只想在我点击按钮时显示。我不明白你的意思?是否将其设置为显示:无?
$("#addinfobutton").click(function(){
    openDialog('#addinfo');
    return false;
});
function openDialog(elm) {
    $(elm).dialog({
        autoOpen:true,
        width:400,
        height:550,
        modal: true,
        close: function() {
            $(this).dialog('destroy');
        }
    });
}