gpt4 book ai didi

javascript - Jquery 自动完成 _renderItem 不工作

转载 作者:行者123 更新时间:2023-11-29 16:05:22 24 4
gpt4 key购买 nike

_renderItem 根本没有执行,尝试使用 console.log 也没有打印任何消息。尝试使用“自动完成”、“ui-autocomplete”、“自动完成”属性没有希望。

此外,我无法理解“响应 map 功能”的目的,因此将其禁用。

$(document).ready(function () {

myVars.shId = $('#dataVar').attr('sh-data');

///// search ////// http://jsbin.com/xavatajiku/edit?js,output
console.log(myVars.shId);
$('#name-list').autocomplete({

source: function (request, response) {
$.ajax({
url: myVars.czbUrl,
data: { searchText: request.term, maxResults: 10, shopId: myVars.shId },
dataType: "json",
success: function (data) {
console.log(data);
/*response($.map(data, function (item) {
console.log(data);
return {

value: item.product_name,
avatar: item.pfimage_thumb,
rep: item.product_name,
selectedId: item.url
};
}))*/
}
})
},
select: function (event, ui) {

alert(ui.item ? ("You picked '" + ui.item.label)
: "Nothing selected, input was " + this.value);

return false;
}
}).autocomplete( "instance" )._renderItem = function (ul, item) {
console.log('test');
/*var inner_html = '<a><div class="list_item_container"><div class="image"><img src="' + item.pfimage_thumb + '"></div><div class="label"><h3> Reputation: ' + item.volume + '</h3></div><div class="description">' + item.product_name + '</div></div></a><hr/>';
return $("<li></li>")
.data("ui-autocomplete-item", item)
.append(inner_html)
.appendTo(ul);*/
};

HTML:

 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<h4>search:<input type="text" id="name-list" /></h4>

最佳答案

一些小的更正,你应该在路上:

示例:https://jsfiddle.net/Twisty/3gm3sfem/

JavaScript

$(function() {
var myData = [{
product_name: "Name 1",
pfimage_thumb: "thumb1.jpg",
url: "url1"
}, {
product_name: "Name 2",
pfimage_thumb: "thumb2.jpg",
url: "url2"
}, {
product_name: "Name 3",
pfimage_thumb: "thumb3.jpg",
url: "url3"
}];
$('#name-list').autocomplete({
source: function(request, response) {
$.ajax({
url: "/echo/json/",
data: {
json: JSON.stringify(myData)
},
dataType: "json",
type: "POST",
success: function(data) {
console.log(data);
response(data);
}
})
},
select: function(event, ui) {
alert(ui.item ? ("You picked '" + ui.item.label) : "Nothing selected, input was " + this.value);
return false;
}
}).autocomplete("instance")._renderItem = function(ul, item) {
console.log('test');
var item = $('<div class="list_item_container"><div class="image"><img src="' + item.pfimage_thumb + '"></div><div class="label"><h3> Reputation: ' + item.volume + '</h3></div><div class="description">' + item.product_name + '</div></div>')
return $("<li>").append(item).appendTo(ul);
};
});

如果您的数据返回,请将其传递给 response()确保菜单得到呈现。你不需要 <a>select无论哪种方式都会被解雇。

关于javascript - Jquery 自动完成 _renderItem 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44365086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com