我有一个JQuery UI Autocomplete字段,可以在后台访问Ruby函数。键入框不会触发对服务器的调用以加载选项。按下向下键将会这样做,然后它可以正常工作。任何想法为什么会这样?
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: "/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"
。当我在调试器中手动更改该值时,会出现正确的行为。为什么要用这样的属性标记它,我该如何修复它?
答案 0 :(得分:1)
检查Autocomplete
属性以获取应用JQuery UI自动填充的输入字段。确保将其设置为"on"
而不是"off"
。
-
我正在回答这个问题作为社区使用对该问题的评论,为了未来读者的利益。