无法使用动态数据创建自动建议功能
Not able to create auto suggest feature with dynamic data
我正在使用 this plugin 创建自动完成和标签的组合功能。
我的输入字段代码和与之相关的脚本
<input id="form-tags-4" name="tags-4" type="text" value="">
<script type="text/javascript">
$(function() {
$('#form-tags-4').tagsInput({
'autocomplete': {
source: [
'apple',
'banana',
'orange',
'pizza'
]
}
});
});
</script>
它可以很好地处理静态数据,但是我希望它应该存储在数据库的源动态数据中,而不是静态数据。
目前我的动态数据在 $normal_skill 中,其格式如下所示
Array
(
[0] => stdClass Object
(
[normal_skill] => HTML
)
[1] => stdClass Object
(
[normal_skill] => CSS
)
[2] => stdClass Object
(
[normal_skill] => Javascript
)
)
我尝试从 normal_skill 收集数据并将其放入这样的数组中
$items = array();
foreach($normal_skill as $n_skill) {
$items[] = $n_skill->normal_skill;
}
代替我调用 $items 的源,在用 $items 替换源后,自动建议和标签功能停止工作。
为了测试,我打印了 $items,它正在显示数据,但是当替换为 source 时,就没有数据了。控制台也没有显示任何特定错误。
任何人都可以告诉我如何用我的数据替换源,我希望它也执行字母到字母搜索。例如:- 如果我输入 "h" 那么以 h 开头的单词应该自动提示,但是现在所有包含 "h" 的单词都会显示
你试过用json_encode()
把它传递给javascript吗?
<input id="form-tags-4" name="tags-4" type="text" value="">
<script type="text/javascript">
$(function() {
$('#form-tags-4').tagsInput({
'autocomplete': {
source: <?= json_encode($items) ?>
}
});
});
</script>
如果是远程源。
$items = array();
foreach($normal_skill as $n_skill) {
$items[] = $n_skill->normal_skill;
}
exit(json_encode($items));
然后在你的javascript中设置为源文件:
<script type="text/javascript">
$(function() {
$('#form-tags-4').tagsInput({
'autocomplete': {
source: './tags.php'
}
});
});
</script>
我正在使用 this plugin 创建自动完成和标签的组合功能。 我的输入字段代码和与之相关的脚本
<input id="form-tags-4" name="tags-4" type="text" value="">
<script type="text/javascript">
$(function() {
$('#form-tags-4').tagsInput({
'autocomplete': {
source: [
'apple',
'banana',
'orange',
'pizza'
]
}
});
});
</script>
它可以很好地处理静态数据,但是我希望它应该存储在数据库的源动态数据中,而不是静态数据。
目前我的动态数据在 $normal_skill 中,其格式如下所示
Array
(
[0] => stdClass Object
(
[normal_skill] => HTML
)
[1] => stdClass Object
(
[normal_skill] => CSS
)
[2] => stdClass Object
(
[normal_skill] => Javascript
)
)
我尝试从 normal_skill 收集数据并将其放入这样的数组中
$items = array();
foreach($normal_skill as $n_skill) {
$items[] = $n_skill->normal_skill;
}
代替我调用 $items 的源,在用 $items 替换源后,自动建议和标签功能停止工作。
为了测试,我打印了 $items,它正在显示数据,但是当替换为 source 时,就没有数据了。控制台也没有显示任何特定错误。
任何人都可以告诉我如何用我的数据替换源,我希望它也执行字母到字母搜索。例如:- 如果我输入 "h" 那么以 h 开头的单词应该自动提示,但是现在所有包含 "h" 的单词都会显示
你试过用json_encode()
把它传递给javascript吗?
<input id="form-tags-4" name="tags-4" type="text" value="">
<script type="text/javascript">
$(function() {
$('#form-tags-4').tagsInput({
'autocomplete': {
source: <?= json_encode($items) ?>
}
});
});
</script>
如果是远程源。
$items = array();
foreach($normal_skill as $n_skill) {
$items[] = $n_skill->normal_skill;
}
exit(json_encode($items));
然后在你的javascript中设置为源文件:
<script type="text/javascript">
$(function() {
$('#form-tags-4').tagsInput({
'autocomplete': {
source: './tags.php'
}
});
});
</script>