JQueryUI对话框自动打开和按钮不起作用

时间:2012-09-04 17:38:54

标签: jquery-ui

我正在尝试使用JQueryUI(1.8.23)对话框来处理ASP.NET MVC视图。我已将对话框指定为“autoOpen:false”,并且还在对话框中指定了一些按钮。

第一个问题是对话框似乎不尊重“autoOpen:false”声明,并且在页面加载时始终打开。第二个问题是我指定的按钮不显示;当我从页面上的链接打开对话框或者在页面加载时打开对话框时。

设置对话框的我的Javascript是:

        $(function() {
        var actionUrl = "";

        var passReason = $("#passReason"),
        allFields = $([]).add(passReason);

        $("#pass-dialog").dialog({
            autoOpen: false,
            height: 100,
            width: 300,
            modal: true,
            buttons: {
                "Pass": function() {
                    actionUrl = actionUrl.replace('COMMENT', escape(passReason.combobox('getValue')));
                    document.location = actionUrl;
                    $(this).dialog("close");
                },
                "Cancel": function() {
                    $(this).dialog("close");
                }
            },
            close: function() {
                $(this).dialog("close");
            }
        });


        $(function() {
            $("#passReason").combobox({
                url: '<%= Url.Action("GetOverrideReasonCodes", "Statistics") %>',
                valueField: 'code',
                textField: 'description',
                method: 'GET',
                mode: 'remote'
            });
        });
    });

    function getManagerComment(jobId, routeId, crisId) {
        actionUrl = '<%= Url.Action("ManualCompleteSegment", "Statistics", new RouteValueDictionary{{"jobId", "JOBID"}, {"routeId", "ROUTEID"}, {"crisId", "CRISID"}, {"comment", "COMMENT"} }) %>';
        actionUrl = actionUrl.replace('JOBID', jobId);
        actionUrl = actionUrl.replace('ROUTEID', routeId);
        actionUrl = actionUrl.replace('CRISID', crisId);

        $("#pass-dialog").dialog("open");
    }

    function getManagerRouteComment(jobId, routeId) {
        actionUrl = '<%= Url.Action("ManualCompleteRoute", "Statistics", new RouteValueDictionary{{"jobId", "JOBID"}, {"routeId", "ROUTEID"}, {"comment", "COMMENT"} }) %>';
        actionUrl = actionUrl.replace('JOBID', jobId);
        actionUrl = actionUrl.replace('ROUTEID', routeId);

        $("#pass-dialog").dialog("open");
    }

并且代表我的对话框的内容是:

    <div id="pass-dialog" title="Enter Pass Reason">
    <form>
    <fieldset>
        <label for="passReason">Pass Reason: </label>
        <input id="passReason" name="passReason" class="easyui-combobox" />
    </fieldset>
    </form>
</div>

我在发出的HTML下面。

有什么建议吗?

谢谢, 马修

1 个答案:

答案 0 :(得分:1)

发现jQueryUI和“EasyUI”CSS文件之间存在冲突。一旦我从等式中删除了EasyUI并转到我的下拉列表的更多手动填充,一切都按预期工作。