Javascript jQuery对话框未关闭

Javascript jQuery对话框未关闭,javascript,jquery-ui,jquery,Javascript,Jquery Ui,Jquery,这是我的jquery for dialog </script> <script type="text/javascript"> $.ajaxSetup({ cache: false }); $(document).ready(function () { $(".openDialog").live("click", function (e) { e.preventDefault(); $("&l

这是我的jquery for dialog

</script>
<script type="text/javascript">
    $.ajaxSetup({ cache: false });
    $(document).ready(function () {
        $(".openDialog").live("click", function (e) {
            e.preventDefault();
            $("<div></div>")
            .addClass("dialog")
            .attr("id", $(this)
                .attr("data-dialog-id"))
            .appendTo("body")
            .dialog({
                title: $(this).attr("data-dialog-title"),
                minWidth: 200,
                minHeight: 100,
                resizable: false,
                close: function () { $(this).remove() },
                modal: true
//                        buttons:{ 
//                            close:function(e){
//                               e.preventdefault();
//                               $(this).closest(".dialog").dialog("close"); 
//                            }}
            })
            .load(this.href);
        });
        $(".close").live("click", function (e) {
            e.preventDefault();                  
            $(this).closest(".dialog").dialog("close");
        });
        $(".refresh").live("click", function (e) {
            e.preventDefault();
            location.reload();
        });
    });          
</script>

$.ajaxSetup({cache:false});
$(文档).ready(函数(){
$(“.openDialog”).live(“单击”,函数(e){
e、 预防默认值();
$("")
.addClass(“对话框”)
.attr(“id”,$(此)
.attr(“数据对话框id”))
.附件(“正文”)
.对话({
标题:$(this.attr(“数据对话框标题”),
最小宽度:200,
身高:100,
可调整大小:false,
关闭:函数(){$(this).remove()},
莫代尔:对
//按钮:{
//关闭:功能(e){
//e.预防违约();
//$(此).close(.dialog”).dialog(“关闭”);
//                            }}
})
.load(this.href);
});
$(“.close”).live(“单击”),函数(e){
e、 预防默认值();
$(此).close(.dialog”).dialog(“关闭”);
});
$(“.refresh”).live(“单击”,函数(e){
e、 预防默认值();
location.reload();
});
});          
这是我的删除视图

@using (Html.BeginForm()) {
    <div>
    <p>Are you sure you want to delete?</p>
       @Html.HiddenFor(model=>model.UId)
   <table border=0>
    <tr>
   <td>Name:</td>
    <td>@Html.DisplayFor(model =>model.FName)
    @Html.DisplayFor(model => model.LName)</td>
    </tr>
    <tr>
    <td>PAddress:</td>
    <td>@Html.DisplayFor(model => model.PAddress)</td>                                        

    </tr>
    </table>
     <input type="submit" value="Yes"/>
    <button  class="close">No</button>


 </div>
}
@使用(Html.BeginForm()){
您确定要删除吗

@Html.HiddenFor(model=>model.UId) 姓名: @DisplayFor(model=>model.FName) @DisplayFor(model=>model.LName) 围裙: @DisplayFor(model=>model.PAddress) 不 }

问题是,当我从按钮调用close类时,对话框不会关闭。但是当我删除preventDefault时,对话框会关闭。请提供对话框未关闭的原因的任何帮助。

您能试试这个吗

$(".close").live("click", function (e) {
                e.preventDefault();                  
                $(this).closest(".dialog").dialog("close");
            });
把这个代码放进去

$(document).ready(function () {

这可能适用于您…

这里您不需要使用preventDefault()函数。preventDefault()用于防止意外的事件默认操作

例如,当您单击一个链接时,它会将您重定向到另一个页面。如果希望该链接执行其他操作,则需要防止默认设置并编写操作


由于此按钮没有默认操作(使用“type”属性定义),因此不需要使用preventDefault()内部文档就绪功能。

您可以这样更改删除视图

<div>
@using (Html.BeginForm()) {
   <p>Are you sure you want to delete?</p>
       @Html.HiddenFor(model=>model.UId)
   <table border=0>
    <tr>
   <td>Name:</td>
    <td>@Html.DisplayFor(model =>model.FName)
    @Html.DisplayFor(model => model.LName)</td>
    </tr>
    <tr>
    <td>PAddress:</td>
    <td>@Html.DisplayFor(model => model.PAddress)</td>                                        

    </tr>
    </table>
     <input type="submit" value="Yes"/>
}
<button  class="close">No</button>
</div>

@使用(Html.BeginForm()){
您确定要删除吗

@Html.HiddenFor(model=>model.UId) 姓名: @DisplayFor(model=>model.FName) @DisplayFor(model=>model.LName) 围裙: @DisplayFor(model=>model.PAddress) } 不

试试这个…

从1.7开始。live()已被弃用,建议使用.on()替代。我也尝试过将其放入delete Vew并调用,但不起作用。也就是当我穿上()。e.preventDefault操作不起作用,ie数据被删除。正如您在上面看到的,它已经存在,不知道它起什么作用,但不起作用。当我单击“否”按钮时,我需要停止删除操作。如果没有preventDefault(),我不知道该怎么做。请您用代码说明此“否”按钮不是“提交”按钮,当您单击该按钮时,您的表单不应提交。但是,如果发生这种情况,你可以把那个按钮放在表格外面,就像我在第二次回答中所显示的那样。您好,问题是为什么盒子没有关闭。手动隐藏消息框很简单。
 $(".ui-dialog").hide();
    $(".ui-widget-overlay").hide();
 $(".ui-dialog").hide();
    $(".ui-widget-overlay").hide();