编辑:我不确定是否有其他人有此问题,但这是我如何解决它。我的JSFiddle确实有效,并且显示了数据,但它不可选(在我的localhost上,我用JSON获取数据)。我通过将html代码更改为以下内容来修复它:
<select class='candidateTags' id='candidateTags' data-placeholder='begin met typen voor suggesties' multiple='multiple' style='width: 200px;'></select>
所以基本上,我更改了隐藏的输入类型以进行选择,并添加了name =&#39; multipleTagids []&#39;选择字段。
如果有其他人遇到此问题,那么现在您知道如何修复它。
我知道这个问题已被提出很多问题(其中包括:here,here和here)
但我遇到的问题是,我从数据库获取数据,然后使用PHP对其进行编码以生成JSON对象。这一切都很好。
Select2然后使用结果自动完成
问题是当我尝试点击其中一个标签时,标签未被选中。单击它时,它只会关闭自动完成列表。
这是我的select2代码:
<script>
$(document).ready(function() {
// set select option to be select2, and add a placeholder
$('.candidateTags').select2({
ajax: {
url: 'snippets/gettags.php', // the url that AJAX should access
dataType: 'json', // datatype that's received
data: function (term, page) {
return term;
},
id: function(obj) {
return obj.slug;
},
results: function (data, page) {
return {results: data.results};
}
}
});
});
</script>
我正在使用id,但它不起作用。我也试过不包括这个id部分,但它仍然没有用。
JSON正在返回:
{"results":[{"id":"1","text":"Project medewerker"},{"id":"2","text":"Vakkenvuller"},{"id":"3","text":"Developer"}]}
这是html:
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<label>
<span>Tag(s):</span>
<!-- Set a select option for the tags. Will be filled with jQuery onkeyup='suggestTags(this.value)' -->
<input type='hidden' class="candidateTags" name='multipleTagIds[]' id='candidateTags' data-placeholder='Begin met typen voor suggesties' multiple='multiple'>
</label>
<input type="submit" name="submit" class="submitbutton" value="VERSTUREN" >
</form>