在焦点上将焦点从文本框移动到ajax组合框

时间:2012-05-23 11:27:48

标签: jquery asp.net ajax

我想将焦点从文本框移动到输入键

上的ajax组合框
 <script type="text/javascript">
    $(document).ready(function () {
        $("#txtGroupSname").keydown(checkForEnter);
        function checkForEnter(event) {

            if (event.keyCode == 13) {
                document.getElementById("cmbUnder").focus();
                return false;
                //$("#cmbUnder").focus();
            }
        }
    });

txtGroupSname是我的文本框,cmbUnder是ajax组合框。

请提出任何想法或建议。 谢谢,

4 个答案:

答案 0 :(得分:0)

<script type="text/javascript">
$(document).ready(function () {
    $("#txtGroupSname").keydown(
    function checkForEnter(event) {

        if (event.keyCode == 13) {
            document.getElementById("cmbUnder").focus();
            return false;
            //$("#cmbUnder").focus();
        }
    });
});

试试这个

答案 1 :(得分:0)

Asp.net应用程序为所有元素生成了clientIds。如果您的控件是客户端ID,则为html中的id,而不是服务器上的id。

确保您使用的是clientId。您可能需要使用RegisterClientScript方法从asp.net发出javascript。

答案 2 :(得分:0)

请先查看此作品 jsfiddle demo

在此演示中,当您点击输入框内部时,焦点会转到选择框。要确保它已经发生,请尝试从键盘按下箭头键以选择不同的选项。


通过以下代码修改上面的脚本:

$(document).ready(function () {
    $("#txtGroupSname").keydown(function(event) {
      // call checkForEnter function with event as a parameter
      checkForEnter(event);
    });

    function checkForEnter(event) {
        if (event.keyCode == 13) {
            // set focus to select box
            $("#cmbUnder").focus();
            //document.getElementById("cmbUnder").focus();
            return false;
        }
    }
});

答案 3 :(得分:0)

if (e.which == 9 && isShiftKey == true) {
                if (document.getElementById("cmbUnder_OptionList").focus() == true) {
                    document.getElementById("txtGroupSname").focus();
                    StopDefaultAction(e);
                }
            }

使用此代码从组合框移动到文本框上方