2
我有一个JQuery UI自动完成字段,可以在后台访问Ruby功能。输入框不会触发到服务器的加载选项的呼叫。然而,按下向下键可以做到这一点,并在此后正常工作。任何想法,为什么这可能是?JQuery UI自动完成不会触发打字
HTML
<div id="subject_select_dialog" class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 0px; height: 141px; " scrolltop="0" scrollleft="0">
<input id="subject_select" name="subject" size="70" type="text" class="ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">
<button id="subject_select_clear" name="button" type="clear">Clear</button>
...
</div>
的JavaScript
$("#subject_select").autocomplete({
source: "https://stackoverflow.com/users/autocomplete",
minLength: 2,
focus: function(event, ui) {
$("#subject_select").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#subject_select").val(ui.item.label)
$("#subject_select_results").html(ui.item.label)
$("#subject_select_id").val(ui.item.value)
return false;
}
});
红宝石
def autocomplete
render :json => UserProfile.list_by_name(params[:term]).to_json
end
编辑:
检查生成的HTML,它是我的标记字段作为Autocomplete="off"
。当我在调试器中手动更改该值时,会出现正确的行为。为什么会用这样的属性标记它,我该如何解决它?
Firebug /其他调试工具是否显示为键入而触发的任何请求?该字段上是否有其他'keypress/keyup/keydown'处理程序可能会阻止此自动完成工作? – GregL 2012-02-27 23:19:27
作为一个完整性检查,您至少要输入2个字符? – jmoerdyk 2012-02-27 23:25:58
请修复您的HTML,以便它是您的后端脚本实际生成的内容。 – Madbreaks 2012-02-27 23:26:16