jquery - 如何使用 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>
解决方案
在您的success
函数中,执行以下操作:
$("#DocType").empty();
for(var i=0;i<jsonData.length;i++){
$("#DocType").append($("<option>"+jsonData[i].groupValue+"</option>"));
}
这实质上是删除现有的选项标签,然后用新值重新填充它们。
因此,每次第一个选择值更改时都会发生这种情况。
推荐阅读
- python - 任何人请向我解释这个问题,我知道我到底要编码什么?
- php - 如何将下拉选择数据批量插入mysql
- r - 根据列对行进行排序?
- vue.js - Laravel Vue Cli 项目中未检测到所有 vuetify 组件
- python - Errno 111 Connection denied - Python Mininet API 主机客户端/服务器没有连接?
- node.js - Express.js + mongodb 使用'ref'在集合之间建立连接不起作用
- pine-script - 用户通过鼠标选择输入特定范围
- react-native - 如何在移动应用程序上使用 appium 自动化反应原生轮播?
- c - 如何解决“未定义的引用错误”?
- java - Android 11 内部存储文件访问