Jquery 显示但不可选择的选项

Jquery 显示但不可选择的选项,jquery,ajax,json,jquery-select2,Jquery,Ajax,Json,Jquery Select2,EDIT:我不确定是否还有其他人有这个问题,但下面是我解决这个问题的方法。我的JSFIDLE确实可以工作,并且显示了数据,但它是不可选择的(在我的本地主机上,我在那里用JSON获取数据)。我通过将html代码更改为以下内容来修复它: 因此,基本上,我将输入类型hidden更改为select,并将name='multipleTagids[]添加到select字段 如果其他人有此问题,那么现在您知道如何解决它。 我知道这个问题被问了很多(除其他问题外:,和) 但我遇到的问题是,我从数据库中获取数

EDIT:我不确定是否还有其他人有这个问题,但下面是我解决这个问题的方法。我的JSFIDLE确实可以工作,并且显示了数据,但它是不可选择的(在我的本地主机上,我在那里用JSON获取数据)。我通过将html代码更改为以下内容来修复它:

因此,基本上,我将输入类型hidden更改为select,并将name='multipleTagids[]添加到select字段

如果其他人有此问题,那么现在您知道如何解决它。


我知道这个问题被问了很多(除其他问题外:,和)

但我遇到的问题是,我从数据库中获取数据,然后用PHP对其进行编码以生成JSON对象。这一切都很好

然后使用结果自动完成

问题是,当我尝试单击其中一个标记时,该标记未被选中。当我点击它时,它只会关闭自动完成列表

这是我的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>
下面是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>

我已经测试了您的JSON和ajax,它正在正常工作(选择标记)。你可能有一些CSS或隐藏的元素在你的标签上。当你把鼠标移到下拉选项上时,你看到蓝色的背景了吗?我想我没有任何CSS在上面,但我会看一下。我在悬停时确实看到了蓝色背景,我提供的图像是一个屏幕截图。我查看了select2创建的选项值,但我不确定这是对是错:输入似乎正常。我用json对象创建了一个新的应用程序,它可以正常工作。尝试制作一个JSFIDLE来复制您的问题,这样我可以提供进一步的帮助。这可能是我自己的CSS代码中干扰select2代码的一行。
<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>