Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery跟踪用户在下拉列表选项上按enter键的时间?_Jquery_Html_Forms - Fatal编程技术网

如何使用jQuery跟踪用户在下拉列表选项上按enter键的时间?

如何使用jQuery跟踪用户在下拉列表选项上按enter键的时间?,jquery,html,forms,Jquery,Html,Forms,我有一个带有下拉列表的HTML表单。当用户通过箭头键选择一个选项并按下其中一个下拉选项上的enter键时,我希望获得所选的下拉值 HTML代码: <select> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="mercedes">Mercedes</option> <

我有一个带有下拉列表的HTML表单。当用户通过箭头键选择一个选项并按下其中一个下拉选项上的enter键时,我希望获得所选的下拉值

HTML代码:

<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

但我想在他们按下
enter
键时得到它,您要查找的是
更改
-事件:

$('select').change(function(){

  var text = $(this).val();
  // whatever to do here

});
或者,使用
.live()
(如果您需要):

有关更多信息,请查看

PS:您不应该将事件绑定到
选项
s,
选择
是表单元素,应该用于绑定上的事件


编辑:由于pyvi的提示,为
live()
添加了一个示例。

您要查找的是
更改
-事件:

$('select').change(function(){

  var text = $(this).val();
  // whatever to do here

});
或者,使用
.live()
(如果您需要):

有关更多信息,请查看

PS:您不应该将事件绑定到
选项
s,
选择
是表单元素,应该用于绑定上的事件

编辑:由于pyvi的提示,为
live()
添加了一个示例。

是一个有效的示例

$('select').live('keypress',function(e){
    var key = e.which;
    if(key == 13)// the enter key code
        {
            // do your thing
        }
});
如上所述,您可能正在查找更改事件,但如果您真的想捕获enter键,这就是一种方法。

就是一个有效的示例

$('select').live('keypress',function(e){
    var key = e.which;
    if(key == 13)// the enter key code
        {
            // do your thing
        }
});

如前所述,您可能正在寻找更改事件,但如果您真的想捕获enter键,这是一种方法。

更改事件可能是正确的方法。但是,如果您只需要按enter键就可以使用某些功能,下面是一个示例:

$('select').live('keydown', function(e){
    if (e.keyCode == 13) {
        var text = $(this)
    }
});
13是输入键的键代码


在这里,改变事件可能是正确的选择。但是,如果您只需要按enter键就可以使用某些功能,下面是一个示例:

$('select').live('keydown', function(e){
    if (e.keyCode == 13) {
        var text = $(this)
    }
});
13是输入键的键代码


这是您的解决方案,请尝试

<!DOCTYPE html>
<html>
<head>

  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>


<select id="ddlDemo">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

<script>



$('#ddlDemo').keyup(function(event) {
if(event.which==13)
{
  var text = $(this).val();
  alert(text);
}

});

</script>



</body>
</html>

沃尔沃汽车
萨博
梅赛德斯
奥迪
$('#ddlDemo').keyup(函数(事件){
if(event.which==13)
{
var text=$(this.val();
警报(文本);
}
});

这是您的解决方案,请尝试

<!DOCTYPE html>
<html>
<head>

  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>


<select id="ddlDemo">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

<script>



$('#ddlDemo').keyup(function(event) {
if(event.which==13)
{
  var text = $(this).val();
  alert(text);
}

});

</script>



</body>
</html>

沃尔沃汽车
萨博
梅赛德斯
奥迪
$('#ddlDemo').keyup(函数(事件){
if(event.which==13)
{
var text=$(this.val();
警报(文本);
}
});

我尝试了以下JQuery脚本,它对我有效

$("#ddlName").keypress(function (e) {
    var key = e.which;

    if (key === 13)// the enter key code
    {
        // Handle enter key
    }
});

我尝试了下面的JQuery脚本,它对我很有效

$("#ddlName").keypress(function (e) {
    var key = e.which;

    if (key === 13)// the enter key code
    {
        // Handle enter key
    }
});

因此,请看一下我提供的文档链接,并检查您的代码可能有什么问题-可能您在更改事件中的代码还有另一个问题。您如何处理
文本
选择
或其
选项
s上是否有任何其他事件会导致问题?您是否收到任何错误消息?更多的信息将非常有用…live功能几乎只需要更改为绑定“更改”,而不是“单击”。看看我给你的文档链接,看看你的代码可能有什么问题——也许你在变更事件中的代码还有另一个问题。您如何处理
文本
选择
或其
选项
s上是否有任何其他事件会导致问题?您是否收到任何错误消息?更多的信息将非常有用…live功能几乎只需要更改为绑定“更改”,而不是“单击”。看来K.B Panamaldeniya littletipz根本不知道
.change()
的存在,这似乎正是他想要的。我不认为我们应该引导他找到一个解决方案,这个方案(也许)可行,但可以用一个更好的方案来替代。我几乎失去了希望。幸运的是,我们看到了这个例子。干得好。谢谢。看起来K.B Panamaldeniya littletipz根本不知道
.change()
的存在,这似乎正是他想要的。我不认为我们应该引导他找到一个解决方案,这个方案(也许)可行,但可以用一个更好的方案来替代。我几乎失去了希望。幸运的是,我们看到了这个例子。干得好。谢谢。-1正是gion_13在大约6分钟前写的内容(他使用了
e.which
,这是由于跨浏览器兼容性而应该与jquery一起使用的内容:)-1正是gion_13在大约6分钟前写的内容(他使用了
e.which
,这是由于跨浏览器兼容性而应该与jquery一起使用的内容:)