使用在 jquery ajax 中选择的 Jquery

Using Jquery chosen in jquery ajax

我正在使用 jquery selected 并调用 ajax on change drop down 但记录没有显示。我在更改下拉列表后使用的代码。

    $.ajax({
        type: "POST",
        url: "MY URL",
        data: {
            sno: $(this).val()
        },

        success: function (resp) {
            var resp = jQuery.parseJSON(resp);
            if (resp.length == 0) {
                $("#site").html('<option value="0" selected>Select Site</option>');

            } else {
                $.each(resp, function (i, item) {
                    $('#site').append($('<option>', {
                        value: item.siteNameID + '-' + item.siteName,
                        text: item.siteName
                    }));
                });
            }
        },
        error: function (resp) {

            console.log('error');
        }
    });

我注意到一件事 jquery 选择在我的 select 框上应用,但是我从服务器端获取的数据没有添加到那个 select 框中

我认为我的代码不是您问题的答案,但这模拟了向 select 添加选项...只需单击添加按钮...

<!DOCTYPE html>
<html>
<head>
 <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<button onclick="add()">Add</button>
<select id="select"></select>
<script>
   var json = [{title:"lorem",value:1},
               {title:"john doe",value:2},
               {title:"foo",value:3},
                ];
   function add(){
     $("#select").empty();
     for(var x = 0; x<json.length; x++){
      var option = '<option value="'+json[x].value+'"> '+json[x].value+'-'+json[x].title+'</option>';
      $("#select").append($(option));
  }
   }
</script>
</body>
</html>

在将项目动态添加到 select 列表后,您需要调用所选的更新触发器才能显示它们。附加项目后使用以下行,它们应该显示在列表中。

$('#site').trigger("chosen:updated");