继我之前的两个问题之后:
如何让 jQuery 自动完成在用户点击提交时执行 search() https://stackoverflow.com/questions/3310387
如何修剪 JQuery 自动完成框的输入? https://stackoverflow.com/questions/3307520
我的表单中有一个 jQuery UI 1.8 自动完成框,在大多数情况下它的工作方式就像一个魅力。我遇到的一个问题是,如果我输入有效的名称,但是不要选择出现的选项,那么该名称永远不会与我的名称匹配{name,value}
列表,因此未设置包含“值”部分的隐藏输入的正确值。这当然会导致令人困惑的情况,人们可以输入一个您知道正确的名称,点击提交并被告知您没有输入正确的名称(因为该值是null
).
即使用户没有从自动完成框中做出选择,如何确保设置了隐藏的输入值?是否有一些功能可以与提交按钮的 onclick 事件联系起来,这将使 jQuery 搜索框中的内容并自动选择第一个选项?或者,我可以使自动完成功能在用户以任何方式取消选择输入框时(返回/选项卡/单击关闭/等)选择第一个选项吗?
Thanks.
这是我对您问题的解决方案。我刚刚添加了有关的部分change事件。
我希望它有帮助。
jQuery(function(){
jQuery('#Resource').autocomplete({
source: data,
focus: function(event, ui) {
jQuery('#Resource').val(ui.item.label);
return false;
},
select: function(event, ui) {
jQuery('#Resource').val(ui.item.label);
jQuery('#EmployeeNumber').val(ui.item.value);
return false;
},
change: function(event,ui){
for (var i in data){
if (data[i].label==jQuery('#Resource').val()){
jQuery('#EmployeeNumber').val(data[i].value);
}
}
}
});
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)