Jquery 在动态创建的下拉列表中选择.js

Jquery 在动态创建的下拉列表中选择.js,jquery,Jquery,这不是一个重复的问题。我看了其他的,他们要求一些不同的东西 当我创建一个静态选项列表时。它工作完美,我可以选择项目,并从我选择的多选框中删除项目 因此,我随后删除了静态代码,并将其替换为ajax调用,以动态填充列表。这些项看起来与静态项相同,但列表不起作用 我有一个使用ajax调用创建的列表 下面是该动态列表的代码 $.ajax({ url:“./api/genericHandler.php?参数=选项关键字”, 键入:“POST”, 成功:功能(数据){ var json=$.parseJSO

这不是一个重复的问题。我看了其他的,他们要求一些不同的东西

当我创建一个静态
选项
列表时。它工作完美,我可以选择项目,并从我选择的多选框中删除项目

因此,我随后删除了静态代码,并将其替换为
ajax
调用,以动态填充列表。这些项看起来与静态项相同,但列表不起作用

我有一个使用ajax调用创建的列表

下面是该动态列表的代码

$.ajax({
url:“./api/genericHandler.php?参数=选项关键字”,
键入:“POST”,
成功:功能(数据){
var json=$.parseJSON(数据);
$.each(json,function(){
var obj=json.shift();
$(“#媒体_关键字”)。追加(“+obj.key_单词+”);
});
}
});
我甚至尝试自己创建
  • 项目(由插件创建)。它显示项目,但从不“做出”选择

    $('.selected container')。单击(函数(){
    $.ajax({
    url:“./api/genericHandler.php?参数=选项关键字”,
    键入:“POST”,
    成功:函数(json){
    var-myIndex=0;
    var data=$.parseJSON(json);
    $.each(数据,函数(){
    var obj=data.shift();
    myIndex+=1;
    $(“.selected results”).append(“
  • 选项数组索引=“+myIndex+”值=”+ obj.uuid+“>”+obj.key\u word+“
  • ”; }); } }); });
    有人能帮忙吗

    更新

    如果我按照应该的方式手动创建
    列表,我会得到带有选项的下拉列表,但是如果我选择了一个项目。我得到一个
    未捕获类型错误:无法在控制台上设置未定义的
    错误的属性“selected”

    这是
    选择的
    插件尝试设置
    项的地方。selected=true
    selected.prototype.result_select=function(evt){
    函数中


    对不起,我知道这有点随意,但我真的不知道?

    多亏了罗布·施穆克

    这就是这份工作对我的影响

    $(文档).ready(函数(){
    $.ajax({
    url:“./api/genericHandler.php?参数=选项关键字”,
    键入:“POST”,
    成功:功能(数据){
    var json=$.parseJSON(数据);
    $.each(json,function(){
    var obj=json.shift();
    $(“#媒体_关键字”)。追加(“+obj.key_单词+”);
    });
    }
    });
    $('.selected container')。单击(函数(){//--------\
    $(“#媒体_关键字”).trigger(“已选择:已更新”)|---此位
    });                                               //--------/
    });
    

    您能在填充下拉列表后尝试添加此内容吗:
    $(“#媒体_关键字”)。已选择()
    ?是的,我同意@Greenonion的说法,应该重新初始化组合。@Greenonion-现在在上面的编辑中尝试了它。仍然不起作用。
    选项列表是在代码中创建的,但是插件没有生成
    列表。在ajax返回任何reslts之前,有没有可能执行js代码?看看在这里的文档中,看起来您需要使用类似这样的东西,
    $(“#表单_字段”).trigger(“selected:updated”);
    Groete van Plettenberg-Baai!
    $.ajax({
        url: "./api/genericHandler.php?argument=optionsKeywords",
        type: 'POST',
        success: function(data) {
            var json = $.parseJSON(data);
            $.each(json, function() {
                var obj = json.shift();
                $( "#media_keywords" ).append( "<option value="+obj.uuid+">"+ obj.key_word + "</option>" );
            });
        }
    });
    
        $('.chosen-container').click(function(){
            $.ajax({
                url: "./api/genericHandler.php?argument=optionsKeywords",
                type: 'POST',
                success: function(json) {
                    var myIndex = 0;
                    var data = $.parseJSON(json);
                    $.each(data, function() {
                        var obj = data.shift();
                        myIndex +=1;
                        $( ".chosen-results" ).append( "<li class='active-result' data->option-array-index="+myIndex+" value=" +
                         obj.uuid + ">" + obj.key_word + "</li>");
                    });
                }
            });
        });
    
    $( document ).ready(function() {
        $.ajax({
            url: "./api/genericHandler.php?argument=optionsKeywords",
            type: 'POST',
            success: function(data) {
                var json = $.parseJSON(data);
                $.each(json, function() {
                    var obj = json.shift();
                    $( "#media_keywords" ).append( "<option value="+obj.uuid+">"+ obj.key_word + "</option>" );
                });
    
            }
        });
    
        $('.chosen-container').click(function(){          //--------\
            $("#media_keywords").trigger("chosen:updated");          |--- THIS BIT
        });                                               //--------/
    });