我試圖在JQuery UI中使用自動完成功能。後端似乎正在工作。它打印出正確的對象並返回正確的json對象,但_render函數不會觸發。Jquery-UI的_render函數在自動完成功能中不起作用
的Javascript:
var app = window.app = {};
app.Problems = function() {
this._input = $('#problems-search-txt');
this._initAutocomplete();
};
app.Problems.prototype = {
_initAutocomplete: function() {
this._input
.autocomplete({
source: '/search_for_problems',
appendTo: '#problems-search-results',
select: $.proxy(this._select, this)
})
.autocomplete('instance')._renderItem = $.proxy(this._render, this);
},
_render: function(ul, item) {
var markup = ['<span class="name">' + item.name + '</span>'];
console.log("trying to render");
return $('<li>').append(markup.join('')).appendTo(ul);
},
_select: function(e, ui) {
this._input.val(ui.item.name);
return false;
}
};
HTML:
<div class="problems-search">
<input type="text" id="problems-search-txt" autofocus>
<div class="results" id="problems-search-results"></div>
</div>
<script>
new app.Problems;
</script>
Ruby on Rails的
類ProblemsController < ApplicationController的
def search_for_problems
@problems = Problem.search(params[:term])
logger.debug "there are #{@problems.count} problems with the term"
@problems.each do |problem|
logger.debug problem.name
end
respond_to do |format|
format.html
format.json { @problems = Problem.search(params[:term]) }
end
end
end
Jbuild呃:
json.array!(@problems) do |problem|
json.name problem.name
end
爲什麼_render函數不工作?
仍然不適用於我 – user2871354