JQuery UI自动完成不会在键入时触发

时间:2012-02-27 23:15:46

标签: jquery jquery-ui autocomplete jquery-ui-autocomplete

我有一个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"。当我在调试器中手动更改该值时,会出现正确的行为。为什么要用这样的属性标记它,我该如何修复它?

1 个答案:

答案 0 :(得分:1)

检查Autocomplete属性以获取应用JQuery UI自动填充的输入字段。确保将其设置为"on"而不是"off"

-

我正在回答这个问题作为社区使用对该问题的评论,为了未来读者的利益。