101010的天空 发表于 2012-12-22 21:29:48

让 bootstrap typeahead 支持复杂对象数据源

<div id="cnblogs_post_body">bootstrap 的typeahead默认不支持复杂对象数组作为数据源,实际中很难满足业务需求,为了实现这个目标,特地花了几个小时加以改造使之支持复杂对象数据源,但是暂时不支持嵌套属性,只支持[{name:'name',age:10}]这种对象数组,大多数情况下应该够用了
下面是bootstrap-typeahead.js改造后大代码,喜欢的可以直接使用改造比较少,如果需要看改动,找文件对比工具和原文件对比就知道了
调用例子
<div class="cnblogs_code"> 1   $('#ttext').typeahead({ 2             source: function (query,process) { 3               return $.getJSON( 4                         '/test/typeahead', 5                         { query: query }, 6                         function (data) { 7                           return process(data); 8                         }); 9             },10             minLength:3,11            
               labeler:['value','name']//下拉列表需要显示的对象属性12            ,propName:'value' //用来匹配搜索的对象属性,默认是对象的value属性,依然支持单值数据源,只需要把这个属性设置为'' 13       })14   });
页: [1]
查看完整版本: 让 bootstrap typeahead 支持复杂对象数据源