Javascript ajax调用中jquery对话框上未选中单选按钮

Javascript ajax调用中jquery对话框上未选中单选按钮,javascript,jquery,ajax,jquery-ui,jquery-dialog,Javascript,Jquery,Ajax,Jquery Ui,Jquery Dialog,我这里有个问题。我有一个jquery模式对话框,上面有两个单选按钮。在我的代码中,我有jQueryAjaxStart和ajaxStop处理程序来检查Ajax请求,我还弹出了另一个jQuery对话框来显示加载。。。当有Ajax请求执行时的消息或其他内容。当我选择每个单选按钮时,会发出一个ajax请求。我遇到的问题是,由于ajax事件ajaxStart、ajaxStop,当我单击单选按钮时,它们没有被选中,尽管我得到了单选按钮的正确值。知道这是什么原因吗 你可以看到一个我用这个遇到的例子 谢谢问题似

我这里有个问题。我有一个jquery模式对话框,上面有两个单选按钮。在我的代码中,我有jQueryAjaxStart和ajaxStop处理程序来检查Ajax请求,我还弹出了另一个jQuery对话框来显示加载。。。当有Ajax请求执行时的消息或其他内容。当我选择每个单选按钮时,会发出一个ajax请求。我遇到的问题是,由于ajax事件ajaxStart、ajaxStop,当我单击单选按钮时,它们没有被选中,尽管我得到了单选按钮的正确值。知道这是什么原因吗

你可以看到一个我用这个遇到的例子


谢谢

问题似乎来自ajax对话框的modal:true选项。如果将该选项设置为false,它将按预期工作。升级到最新版本的jquery和jquery ui似乎无法解决问题

解决方案1

将模态选项设置为false

解决方案2

您可以使用允许阻止整个页面或特定元素的插件。它的工作原理是在页面或元素上显示覆盖div,禁止与底层内容进行任何交互。您可以显示消息并自定义外观

使用单选框阻止对话框内容:

$("#ajax-dialog").ajaxStart(function() {
    $('#gender-dialog').block({ 
            message: '<h1>Loading...</h1>', 
            css: { border: '3px solid #a00' } 
        }); 
});

$("#ajax-dialog").ajaxStop(function() {
    $('#gender-dialog').unblock(); 
});
阻止整个页面:

$("#ajax-dialog").ajaxStart(function() {
    $.blockUI({ message: '<h1>Loading...</h1>', baseZ: 2000 });  
});

$("#ajax-dialog").ajaxStop(function() {
    $.unblockUI();
});
注意选项baseZ在本例中,这是覆盖的z索引,默认值为1000。将其设置为高于对话框的值以覆盖它


问题似乎来自ajax对话框的modal:true选项。如果将该选项设置为false,它将按预期工作。升级到最新版本的jquery和jquery ui似乎无法解决问题

解决方案1

将模态选项设置为false

解决方案2

您可以使用允许阻止整个页面或特定元素的插件。它的工作原理是在页面或元素上显示覆盖div,禁止与底层内容进行任何交互。您可以显示消息并自定义外观

使用单选框阻止对话框内容:

$("#ajax-dialog").ajaxStart(function() {
    $('#gender-dialog').block({ 
            message: '<h1>Loading...</h1>', 
            css: { border: '3px solid #a00' } 
        }); 
});

$("#ajax-dialog").ajaxStop(function() {
    $('#gender-dialog').unblock(); 
});
阻止整个页面:

$("#ajax-dialog").ajaxStart(function() {
    $.blockUI({ message: '<h1>Loading...</h1>', baseZ: 2000 });  
});

$("#ajax-dialog").ajaxStop(function() {
    $.unblockUI();
});
注意选项baseZ在本例中,这是覆盖的z索引,默认值为1000。将其设置为高于对话框的值以覆盖它