我做了一个jsfiddle,基本上我想要的是用户能够不仅输入代码来输入下拉列表,而且输入我指定的附加值。
在这个简单的例子中我希望,当用户专注于下拉列表时,他们能够输入A或1来选择A,B或2来选择B,而选择C或3来选择C.当前实现只有3工作,所以看起来绑定被覆盖。
这是jsfiddle:http://jsfiddle.net/yD7pb/
var selectArray = {
49 : 'A',
50 : 'B',
51 : 'C'
};
$.fn.smartSelect = function(array){
for( var index in array) {
$(this).bind('keypress',function(event){
if(event.keyCode == index){
$(this).val(array[index]);
}
});
}
};
$(document).ready(function() {
$("#testSelect").smartSelect(selectArray);
});
答案 0 :(得分:0)
无需多次绑定回调函数。只需检查它是否与其中一个键匹配,如果是,则设置值:
var selectArray = {
49 : 'A',
50 : 'B',
51 : 'C'
};
$.fn.smartSelect = function(array){
$(this).bind('keypress',function(event){
if(event.keyCode in selectArray){
$(this).val(array[event.keyCode]);
}
});
};
$(document).ready(function() {
$("#testSelect").smartSelect(selectArray);
});
Jsfiddle:http://jsfiddle.net/yD7pb/5/