如何在加载jquery对话框时将焦点设置为文本框

时间:2011-03-07 11:11:15

标签: jquery jquery-ui jquery-plugins

当我执行以下行时,对话框正常打开。

$('#divMyDialogBox').dialog('open');

但我在div(对话框)中有一个文本框(即txtAddr)&希望焦点在被加载时被提示。

我尝试了下面的代码,但它没有用。请纠正相同或建议新的解决方案。

        $('#divEmailDialogBox').dialog
        ({
            modal: true,
            draggable: true,
            hide: 'slide',
            show: 'slide',
            height: 100,
            width: 575,
            bgiframe: true,
            autoOpen: false,
            resizable: false,
            closeOnEscape: false,
            zIndex: 9999,
            open: function(){alert("Hi"); $("#txtAddr").focus();}
        });

    <%if(true)
    {%>
               $('#divEmailDialogBox').dialog('open');
    <%}

此处警报正在触发,表示代码正在被调用。

先谢谢, Biki

3 个答案:

答案 0 :(得分:0)

您的功能是否完全被调用?是否在对话框出现之前或之后调用? (您可以使用focus更改alert来电,以了解相关信息。

您是否尝试过使用对话框的focus事件而不是open事件?

答案 1 :(得分:0)

最好确保页面上没有其他文本框具有相同的ID。你可以在这里粘贴你的HTML吗?

答案 2 :(得分:0)

尝试用以下内容替换当前的节目:

show: { effect: 'slide', complete: function() { $(this).find("#txtaddr").focus(); }},

这适用于Jquery UI 1.8.4 +