gat*_*ath 10 javascript django jquery
这里有点困惑,formatResult和formatItem在JQuery Autocomplete插件中做了什么?
我有一个函数返回逗号分隔的字符串(来自Django),但我的自动完成功能无法将字符串拆分为单独的条目/行,我如何使用自动完成功能实现此目的?
例如,返回的结果如下所示,这就是自动完成显示的内容: - ["one","oneTwo","Onethree","anotherOne"]
我希望在自动填充字段中显示时将其拆分为: -
one
oneTwo
Onethree
anotherOne
Run Code Online (Sandbox Code Playgroud)
我有一种感觉,我可以使用formatResult和formatItem,但我不知道怎么样,没有好的例子!
我的代码在html模板中:
function autoFill(){
$("#tags").autocomplete("/taglookup/", {
width: 320,
max: 4,
highlight: false,
multiple: true,
multipleSeparator: " ",
scroll: true,
scrollHeight: 300
});
}
Run Code Online (Sandbox Code Playgroud)
我使用Dajango来处理GET请求.
迦特
vez*_*ult 19
formatItem格式化项目以在下拉列表中显示,同时formatResult格式化项目,以便在选择后在输入框中显示.
默认情况下,自动填充期望从指定的URL获取格式为:
foo|bar|baz|bing
zaz|ding|blop|grok
Run Code Online (Sandbox Code Playgroud)
其中每一行是一行数据; 每一行是数据,它传递给formatItem和formatResult.您可能希望采用阻力最小的路径并以其喜欢的方式返回数据.
如果您想使用不符合自动完成的假设的数据,您将需要使用(未记录的,据我所知)解析选项来标识解析ajax请求结果的函数.在我看来,你的django视图返回一个数组,而不是返回一个格式化的字符串.要像jquery那样格式化数组:
return HttpResponse('|'.join(your_array), mimetype='text/plain')
Run Code Online (Sandbox Code Playgroud)
以下是使用非标准自动填充数据(JSON)执行自动填充的示例:
<script type="text/javascript">
format_item = function (item, position, length){
return item.title;
}
// Handle data from ajax request
prep_data = function(data){
tmp = $.evalJSON(data);
parsed_data = [];
for (i=0; i < tmp.length; i++) {
obj = tmp[i];
// Other internal autocomplete operations expect
// the data to be split into associative arrays of this sort
parsed_data[i] = {
data: obj ,
value: obj.isbn13,
result: obj.title
};
}
return parsed_data
}
$(document).ready(function(){
$("#fop").autocomplete({
url : "{% url book-search %}",
// undocumented
parse: prep_data,
formatItem: format_item,
});
})
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26332 次 |
| 最近记录: |