【问题标题】:Jquery modal dialog disables its own controlsJquery 模态对话框禁用它自己的控件
【发布时间】:2015-07-17 13:28:37
【问题描述】:

我有一个 DIV 在我的 ASP.Net MVC 项目中显示为模式对话框。这个 DIV 有一个文本框来接受用户输入。但是,当我打开模式选项设置为 true 的对话框时,它会禁用此文本框以及父表单控件!

如何在以模式打开时启用对话框上的控件?

<div id="assumption-block" class="ic-assumption-block-pos">
    <input type="text" id="maxid" value="text" />
</div>

脚本

$('#assumption-block').dialog({modal:true});

【问题讨论】:

  • 你用什么插件来显示模态窗口?
  • 你能分享一些代码吗?
  • 我使用 JQuery 对话框 $('#dialog-block').dialog({modal: true});
  • 表面上听起来像是 z-index 问题。您可以将 z-index 属性添加到对话框参数对象 { z-index: 1000 } 以强制它使用您选择的基本 z-index。
  • @AnilSoman:本地有东西干扰了您的控件。将代码添加到小提琴中时,它按预期工作。您需要使用浏览器中的调试工具查看呈现的 HTML,以检查控件上是否有任何禁用的属性。在此之前,您的问题是非常本地化的,任何解决方案都将纯粹基于推测。

标签: jquery modal-dialog


【解决方案1】:

这不是正确的解决方案,但它可能适用于这个问题,请尝试将第二个代码行添加到您的脚本中。它可能有效,但您的问题似乎很奇怪。

$('#assumption-block').dialog({ modal: true });
$('#assumption-block input').removeAttr('disabled');

【讨论】:

  • 不工作.. 我将使用 firebug 检查正在呈现的内容
【解决方案2】:

我自己也看到了这个问题。如果您遇到与我相同的问题,我相信正确的解决方法是更改​​ z-index 以使 $(".ui-dialog") 在 css 领域中的 z-index 大于 $(".ui-widget-overlay")

【讨论】:

    【解决方案3】:

    我刚遇到这种情况。这是由于链接到 1.9.2 版本的平滑 css 和 1.11.4 的 jquery ui js 引起的。我相信这与 jquery 在 css 中所做的 z 索引更改有关

    【讨论】:

    • 感谢十亿这帮助了我 :)
    【解决方案4】:

    所以你想这样see this link

    你可以设置open方法来移除attr disabled;

    $('#assumption-block').dialog({ 
        modal: true,
        open: function(event, ui) { 
            $('#assumption-block input').removeAttr('disabled');  
        }
    });​
    

    【讨论】:

      猜你喜欢
      • 2013-11-05
      • 2013-03-30
      • 2011-01-20
      • 1970-01-01
      • 2012-07-03
      • 2011-01-22
      • 2015-05-15
      • 2011-08-01
      • 1970-01-01
      相关资源
      最近更新 更多