我正在使用自动完成功能,因此用户可以轻松输入输入数据,如下所示:
<?
$a = new etiqueta(0, '');
$b = $a->autocomplete_etiquetas();
?>
<script type="text/javascript">
function cargar_autocomplete_etiquetas(){
$("#tags").autocomplete({
source: [<? echo $b; ?>]
});
}
</script>
$ a = $ b 一个数组,结果如下:'help','please',i','need','to,'be能够','选择下一项','使用自动完成';
我检查了ui文档,但它与我的源方法不相符..任何想法? 我正在尝试这样(使用Bugai13 aportation编辑):
<?
$a = new etiqueta(0, '');
$b = $a->autocomplete_etiquetas();
?>
<script type="text/javascript">
function cargar_autocomplete_etiquetas(){
$("#tags").autocomplete({
source: [<? echo $b; ?>],
multiple: true,
multipleSeparator: ", ",
matchContains: true
});
}
</script>
但我不知道该怎么做..任何想法?是自动完成的.push和.pop函数吗?或者我应该定义它们吗?
再次感谢!
PS:我正在沉迷于这个网站! PS:来个老兄,我觉得答案对很多人来说非常有用 PS:是否可以提供paypal奖励?答案 0 :(得分:1)
我已经使用以下功能为'+'分隔符的标签工作多个自动完成功能,希望这有助于您:
我的代码完整无缺。在我的情况下,在解析函数项中它只是json数组,尝试添加解析方法:
$("#txtTags").autocomplete(UrlFactory.TAGS_AUTOCOMPLETE_URL, {
matchContains: true,
width: 320,
max: 10,
highlight: false,
multiple: true,
multipleSeparator: ", ",
scroll: true,
scrollHeight: 300,
dataType: "json",
parse: function (data) {
var result = Result.fromJson(data);
var items = result.getJson("Tags");
var arr;
if (items != null)
arr = items.split(",");
return $.map(arr, function (row, i) {
return {
data: row,
value: row,
result: row
}
});
},
onItemSelect: function () {
},
formatItem: function (data, i, n, value) {
if (value != null) {
value = ltrim(value);
value = rtrim(value);
}
return value;
}
});
所以,你需要这样的东西:
function cargar_autocomplete_etiquetas(){
$("#tags").autocomplete({
source: [<? echo $b; ?>],
multiple: true,
multipleSeparator: ", ",
matchContains: true
});
}
答案 1 :(得分:0)
echo $b;
打印什么?如果$ b确实是一个PHP数组,我希望你需要echo implode(',', $b)
甚至echo '"' . implode('", "', $b) . '"';
之类的东西来实现这个功能。
编辑:(当然我只假设您使用的是PHP,但如果<?
像PHP一样,$
就像PHP一样......)