首页 > 解决方案 > 如何使用 jquery ajax 删除 html 选择文件选项

问题描述

在我的项目中,我有 2 个 html 选择。当第一个选择更改时,我想更改第二个选择。但是有一个问题。当我更改第一个选择时,第二个选择覆盖以前的选项值。当我更改第一个选择时,我想删除以前的选项值。我写了这段代码:

 <script>
function docType() {
    var URL_PREFIX = "http://localhost:8983/solr/archiveCore/select?fl=DocType&group.field=DocType&group=true&q=PackName:";
    var URL_MIDDLE="&rows=10&sort=DocType%20asc&start=0&wt=json";
    var string="\"" + $("#PackName option:selected").val() + "\"";
var URL = URL_PREFIX+string+URL_MIDDLE;
$.ajax({
   url : URL,
   dataType : 'json',
   type:'get',
   json : 'json.wrf',
   success : function(data) {
      var docs = JSON.stringify(data.grouped.DocType.groups);
      var jsonData = JSON.parse(docs);
      for(var i=0;i<jsonData.length;i++){
            $("#DocType").append($("<option>"+jsonData[i].groupValue+"</option>"));
       }
   },
 })
};
</script>

这是第一次更改第一次选择

这是第二次更改第一次选择

标签: jqueryajax

解决方案


在您的success函数中,执行以下操作:

$("#DocType").empty();
for(var i=0;i<jsonData.length;i++){
   $("#DocType").append($("<option>"+jsonData[i].groupValue+"</option>"));
}

这实质上是删除现有的选项标签,然后用新值重新填充它们。

因此,每次第一个选择值更改时都会发生这种情况。


推荐阅读