Javascript jQuery自动完成-包含说明
如何向显示的结果中添加带有说明的较小文本?我在autocomplete使用的数据数组中有描述。我可以使用.result函数并调用item.description来调用它 所以现在我看到一个列表:Javascript jQuery自动完成-包含说明,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,如何向显示的结果中添加带有说明的较小文本?我在autocomplete使用的数据数组中有描述。我可以使用.result函数并调用item.description来调用它 所以现在我看到一个列表: Item1<br /> Item2<br /> Item3<br /> Item1 项目2 项目3 我想要它 Item1<br /> description<br /> Item2<br /> &nb
Item1<br />
Item2<br />
Item3<br />
Item1
项目2
项目3
我想要它
Item1<br />
description<br />
Item2<br />
description<br />
Item3<br />
description<br />
var results = new Array();
function prep(){
$("#searchbox").autocomplete(results,{
formatItem: function(item) {
return item.title;
}
}).result(function(event, item) {
location.href = item.url;
});
}
$(document).ready(function(){
$.ajax({
type: "GET",
url: "links2.xml",
dataType: "xml",
success: function(xml) {
// Count elements
var count = $(xml).find('ROW').length;
// Create Array of correct length
//window.results = new Array(count);
// Set array variable
var num_row = 0;
//data string
var datastring = "";
//start of find block
$(xml).find('ROW').each(function() {
var title = $(this).find('SC_DF_FIELD_1').text();
var url = $(this).find('SC_DF_FIELD_2').text();
var support_url = $(this).find('SC_DF_FIELD_3').text();
var description = $(this).find('SC_DF_FIELD_4').text();
var contacts = $(this).find('SC_DF_FIELD_5').text();
//clean up xml variables
url = url.substring(url.indexOf('>') + 1, url.indexOf('/a') - 1);
support_url = support_url.substring(support_url.indexOf('>') + 1, support_url.indexOf('/a') - 1); /*need to clean up contacts search later */
results[num_row] = {'title': title, 'url': url, 'support_url': support_url, 'description': description, 'contacts': contacts};
num_row++
// $('<div class="items"></div>').html('<a href="' + url + '">' + title + '</a>').appendTo('#page-wrap');
});
//end of find block
prep();
}
});
});
</script>
</head>
<body>
<div id="page-wrap">
<FORM autocomplete="off"><INPUT id="searchbox" type="text"/>
</FORM></DIV>
</body>
</html>
Item1
说明
项目2
说明
项目3
说明
var results=新数组();
函数prep(){
$(“#搜索框”)。自动完成(结果{
formatItem:函数(项){
返回项目名称;
}
}).结果(功能(事件、项目){
location.href=item.url;
});
}
$(文档).ready(函数(){
$.ajax({
键入:“获取”,
url:“links2.xml”,
数据类型:“xml”,
成功:函数(xml){
//计数元素
变量计数=$(xml).find('ROW').length;
//创建长度正确的数组
//window.results=新数组(计数);
//设置数组变量
var num_row=0;
//数据串
var datastring=“”;
//查找块的开始
$(xml).find('ROW').each(function(){
var title=$(this).find('SC_DF_FIELD_1').text();
var url=$(this).find('SC_DF_FIELD_2').text();
var support_url=$(this).find('SC_DF_FIELD_3').text();
var description=$(this).find('SC_DF_FIELD_4').text();
var contacts=$(this).find('SC_DF_FIELD_5').text();
//清理xml变量
url=url.substring(url.indexOf('>')+1,url.indexOf('/a')-1);
support_url=support_url.substring(support_url.indexOf('>')+1,support_url.indexOf('/a')-1);/*以后需要清理联系人搜索*/
结果[num_row]={'title':title,'url':url,'support_url':support_url,'description':description,'contacts':contacts};
数字行++
//$(“”).html(“”).appendTo(“#换页”);
});
//查找块结束
prep();
}
});
});
我想出来了
将说明添加到return语句中。啊 如果您不知道这一点,创建列表的正确方法是使用
li
列表项元素,这些元素具有ul
无序列表或ol
有序列表,而不是使用一段由换行符分隔的文本,这只是实验性代码,用于查看会发生什么。我本想在发布之前删除它。这与问题无关。谢谢你。