ajax调用中jquery对话框上未选中单选按钮
radio button not selected on jquery dialog box in ajax calls
我有一个问题。我有一个jquery模态对话框,上面有两个单选按钮。在我的代码中,我有jQuery ajaxStart和ajaxStop处理程序来检查Ajax请求(当有Ajax请求执行时,我还弹出了另一个jQuery对话框来显示Loading…消息或其他消息)。当我选择每个单选按钮时,就会发出一个ajax请求。我遇到的问题是,由于ajax事件(ajaxStart、ajaxStop),当我单击单选按钮时,它们没有被选中(尽管我得到了正确的单选按钮值)。知道是什么原因造成的吗?
你可以看到我用这个jsfiddle 看到的东西的插图
感谢
问题似乎来自#ajax-dialog
对话框的modal: true
选项。如果您将该选项设置为false,它将按预期工作。升级到jquery和jquery ui的最新版本似乎并没有解决这个问题。
解决方案1
将模态选项设置为false
。
$('#ajax-dialog').dialog({
autoOpen: false,
modal: false, // set to false
title: 'Loading...'
});
演示
解决方案2
您可以使用插件BlockUI,它允许阻塞整个页面或特定元素。它的工作原理是显示一个覆盖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。将其设置为比对话框更高的值以覆盖它。
DEMO
相关文章:
- 复选框/单选按钮-添加所选项目的总价
- 谷歌应用程序脚本示例-如何更改单选按钮的列表框相关值
- 单选按钮的验证(启用)&使用Jquery Optimization从复选框中选择submit按钮
- 单击单选按钮时选中所有复选框
- 将文本框/单选按钮/和下拉列表中的信息添加到dataTable
- 内联JavaScript启用/禁用点击单选按钮上的选择和文本框
- 基于单选按钮和复选框的数据表排序
- 根据文本框中键入的文本筛选单选按钮列表
- JavaScript - 如果未选中复选框,则取消选中单选按钮
- 选中的单选按钮在jQuery模式对话框中不能正常工作
- Ckeditor 自定义插件 - 带有单选按钮的对话框
- 带有使用 JQuery 的单选按钮的确认对话框
- 使用JS confrim对话框验证单选按钮
- 文本框开关,带有基于部分视图MVC 4的模式对话框上的单选按钮
- ajax调用中jquery对话框上未选中单选按钮
- 更新:jquery对话框模式单选按钮未选择ajax
- 用单选按钮单击时显示对话框
- 如何取消用户的单选按钮选择,在确认对话框后取消选择
- 如何在单选按钮onchange()事件上加载自定义对话框
- 表单,带有两个使用jquery对话框的单选按钮