0

我想将焦点从文本框移动到输入键上的 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

4 回答 4

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();
        }
    });
});

试试这个

于 2012-05-23T11:32:44.930 回答
0

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

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

于 2012-05-23T11:39:18.320 回答
0

请先查看这个工作的 jsfiddle 演示

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


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

$(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;
        }
    }
});
于 2012-05-23T11:43:02.500 回答
0
if (e.which == 9 && isShiftKey == true) {
                if (document.getElementById("cmbUnder_OptionList").focus() == true) {
                    document.getElementById("txtGroupSname").focus();
                    StopDefaultAction(e);
                }
            }

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

于 2012-07-09T06:23:55.853 回答