我有一个带有下拉列表的HTML表单。当用户通过箭头键选择一个选项并在其中一个下拉选项上按Enter键时,我想获得所选的下拉值
HTML code:
<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
当用户选择Mercedes
并按Enter键时,我想获得该值。我可以通过
$('option').live('click',function(){
var text = $(this)
});
但是我想在按下enter
键
答案 0 :(得分:4)
Here是一个有效的例子。
$('select').live('keypress',function(e){
var key = e.which;
if(key == 13)// the enter key code
{
// do your thing
}
});
正如oezi所说,您可能正在寻找更改事件,但如果您真的想要捕获输入按键,则可以使用此方法。
答案 1 :(得分:1)
以下是您的解决方案,请尝试
<!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>
答案 2 :(得分:0)
您正在寻找的是change
- 事件:
$('select').change(function(){
var text = $(this).val();
// whatever to do here
});
或者,使用.live()
(如果这是必要的话):
$('select').live('change',function(){
var text = $(this).val();
// whatever to do here
});
有关详细信息,请查看documentation。
PS:您不应该将事件绑定到option
,select
是表单元素,应该用于绑定事件。
编辑:为live()
添加了一个示例,感谢pyvi的提示。
答案 3 :(得分:0)
改变事件可能是去这里的正确方法。但是,如果您只需按Enter键就可以使用某些东西,这里有一个例子:
$('select').live('keydown', function(e){
if (e.keyCode == 13) {
var text = $(this)
}
});
13是回车键的键码。
答案 4 :(得分:0)
我尝试了以下JQuery脚本,它可以与我一起工作。
$("#ddlName").keypress(function (e) {
var key = e.which;
if (key === 13)// the enter key code
{
// Handle enter key
}
});