使jQuery自动完成结果,链接
Make jQuery auto complete results, Links
我使用的是jQuery auto-complete,它与jQuery ui捆绑在一起。无论如何,我需要将这一点自定义为弹出链接,而不仅仅是文本。
我有一个多维PHP数组,它包含一些文本和MYSQL数据库中该文本的相应id。
$js_array = json_encode($php_array);
echo "var javascript_array = ". $js_array . ";'n";
现在我有了一个多维js数组。但我不知道如何使用这些值来创建链接。
数组中的文本项应该是链接的文本部分,ID应该是链接中的URL。
这是我现有的代码。如何自定义以实现我的目的。。。
$("#search_query").autocomplete( {
source: javascript_array
});
$(function() {
var projects = [
{
value: "jquery",
label: "jQuery",
desc: "the write less, do more, JavaScript library",
icon: "jquery_32x32.png"
},
{
value: "jquery-ui",
label: "jQuery UI",
desc: "the official user interface library for jQuery",
icon: "jqueryui_32x32.png"
},
{
value: "sizzlejs",
label: "Sizzle JS",
desc: "a pure-JavaScript CSS selector engine",
icon: "sizzlejs_32x32.png"
}
];
$( "#project" ).autocomplete({
minLength: 0,
source: projects,
focus: function( event, ui ) {
$( "#project" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value );
$( "#project-description" ).html( ui.item.desc );
$( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
return false;
}
})
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
});
您可以使用任何自定义的属性值,标签必须保留,所有都符合您的要求(这里我们使用的是desc and icon
)。
使用_renderItem选项:
方法,该方法控制小部件菜单中每个选项的创建。该方法必须创建一个新的
<li>
元素,将其附加到菜单中,然后退回。
_renderItem: function( ul, item ) {
return $( "<li data-value='"+item.value+"'><a href='#'>"+item.label+"</a></li>" )
.appendTo( ul );
}
1) 删除此:
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};
2) 把它加在这里。确保你有一个href参数,否则大多数浏览器不会知道它是一个链接。
$( "#project" ).autocomplete({
minLength: 0,
source: projects,
focus: function( event, ui ) {
$( "#project" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value );
$( "#project-description" ).html( ui.item.desc );
$( "#project-icon" ).attr( "src", "images/" + ui.item.icon );
return false;
},
_renderItem: function( ul, item ) {
return $( "<li data-value='"+item.value+"'><a href='#'>"+item.label+"</a></li>" )
.appendTo( ul );
}
});
相关文章:
- 如何利用多链接延迟检查并显示ping结果,然后使用JavaScript选择最快的URL
- 显示可链接的搜索结果+对齐方式
- 将数据库中的超链接添加到查询结果
- jQuery延迟了链接保存,统一结果
- 使jQuery自动完成结果,链接
- 如何与Promises链接和共享先前的结果
- 我如何解析.get的结果,以便只在锚标记中有链接
- 小提琴在单击链接时在结果面板中显示 JSFiddle 登录(而不是正常运行)
- 如何从JavaScript代码中获取执行的结果链接
- 承诺链接:在next-then回调中使用上一个承诺的结果
- 在 JavaScript 中链接 .bind() 调用.意外结果
- 有没有一种方法可以获得与链接几个.next()方法相同的结果
- "取消链接"从数据库中回显结果
- 链接基于Ajax请求的jQuery.each结果只触发beforeEnd一次
- window.location没有'不会产生与将相同链接粘贴到浏览器相同的结果-Magento添加到购物车URL
- 在搜索引擎结果的主页url下显示子链接
- 如何在jquery中制作链接,编码实时搜索结果
- 搜索结果的动态链接
- 如何收集10个Google搜索结果链接(其中似乎删除了class属性)
- 搜索结果链接