我正在处理 jquery 中的自动完成功能,似乎只能找到字母“C”。并知道为什么会发生这种情况?我使用 json 提要的另一个自动完成工作正常,但这个需要显示一个排序网格,您可以从第一列信息(形状)中进行选择。当我输入“C”时,我会得到下拉菜单,但除此之外的任何组合都不起作用。此外,如果您只是输入“L”或“A”,它应该会弹出其中一个选项,但没有这样的运气
JSON
[
{
"shape":"CLRE1 LAS",
"eye":"50",
"bridge":"18",
"color":"all"
},
{
"shape":"CLRE2 LAS",
"eye":"48",
"bridge":"18",
"color":"all"
},
{
"shape":"CLRK UOC",
"eye":"54",
"bridge":"18",
"color":"all"
},
{
"shape":"ABCD KCT",
"eye":"105",
"bridge":"25",
"color":"all"
}
]
jQuery代码
$.getJSON("resources/data/frameshape.json", function(projects)
{
$( "#frameShaping" ).autocomplete({
source: projects,
select: function( event, ui ) {
$( "#frameShaping" ).val( ui.item.shape );
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
if (ul.children().length == 0){
ul.append( '<li class="t2"><p class="testing">Shape</p>
<p class="testing">Eye</p><p class="testing">Bridge</p>
<p class="testing">Color<p></li>' );
}//end if
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a><p class='linkage'>"
+ item.shape + "</p><p class='linkage'>"
+ item.eye + " </p><p class='linkage'>"
+ item.bridge + "</p><p class='linkage'> " +
item.color +"</p></a>" )
.appendTo( ul );
};
});
HTML
<input id="frameShaping" size="25"/>