首页 > 解决方案 > 选择其他选项后,多选下拉未清除值

问题描述

我有两个下拉列表,如果我从第一个下拉列表中选择值,则 id 将传递给第二个下拉列表,这是 Bootstrap 的多选下拉列表。问题是,如果该 id 在数据库中没有显示先前选择的值的记录。

我已经尝试过.empty(),刷新等,但它没有显示正确的结果。请帮助..代码如下:

var ID = $("#AreaMasterID").val();
$.ajax({
      url: '../AllocateDump/FillDumpingSite',
      type: "POST",
      data: {
        "AreaMasterID": ID
      },
      async: false,
      dataType: "json",
      success: function(res) {
        if (res.length == 0) {
          $("#DumpID").val('0');
          $("#DumpID").val(' ');
          //$("#DumpID").multiselect('refresh'); 
          // $("#DumpID option").remove();                        
          //$("#DumpID").multiselect('destroy');

        } else {
          for (var i = 0; i < res.length; i++) {
            $("#DumpID").empty()
                        .append($("<option></option>")
                        .val(res[i].DumpingSiteID)
                        .html(res[i].DumpSiteName));
              }
              $('#DumpID').multiselect({
                includeSelectAllOption: true
              });
            }
            $("#DumpID").multiselect('refresh');
          },
          error: function(err) {
            $.kanNotify.error(err);
          },
        });

在 span 中,它显示未由 .empty() 和其他选项清除的选定值。

浏览器生成的 html 代码视图

标签: javascriptc#jquery

解决方案


尝试这个

for (let i = 0; i <= $('#DumpID option').length; i++) {
  $("#DumpID").remove(i);
}

推荐阅读