通过JSON接收数据时,从子下拉列表中清除旧选项

我通过父下拉列表中的onchange事件(第一个下拉列表)填充子下拉列表(第二个下拉列表)。 之后通过子下拉列表的onchange事件我自动填充三个文本框。 但我的问题是第一次下拉。 第一个下拉列表的ID是combo ,第二个下拉列表的ID是combo1

当我从第一个下拉列表中选择A ,我在第二个下拉列表中通过在auto.jsp中写入下面的javascript中添加值1 。 但是当我在第一个下拉列表中选择选项B ,我在第二个下拉列表中得到2 ,但旧值1应该从第二个下拉列表中移除,但它仍然保留在那里,为什么? 类似地,当我从第一个下拉列表中多次选择A or B ,多个值1或2将进入第二个下拉列表,我想要删除并显示单次,如果A将被选中,那么将显示1 ,如果B将被选中然后将显示2 ,怎么办?

auto.jsp

   $(document).ready(function() { $("#combo").change(function() {// by onchange event in first dropdown I populate second dropdown having id combo1 $.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) { $("#combo1").append( $("").html(responseData.name).val(responseData.name) ); }); }); // After getting value in second dropdown, by onchange event i am autofilling 3 textboxes. $("#combo1").change(function() { $.getJSON('combo2.jsp', { combo1Val : $(this).val() }, function(data) { $("#firsttextbox").val(data.name); $("#secondtextbox").val(data.roll_no); $("#thirdtextbox").val(data.fine); }); }); });   //First dropdown  select A B  // Second dropdown  select   

combo1.jsp

    

auto.jsp ‘#combo’中更改匿名函数,替换:

 $.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) { $("#combo1").append( $("").html(responseData.name).val(responseData.name) ); }); 

有:

 $.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) { $("#combo1").empty().append( $("").html(responseData.name).val(responseData.name) ); }); 

要将字符串拆分为数组,请在此处查看: 如何拆分字符串,打破特定字符?

他们使用如下:

 $.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) { var splitValues = responseData.name.split(/,/); $("#combo1").empty().append(""); for (var idx in splitValues) { $("#combo1").append( $("").html(splitValues[idx]).val(splitValues[idx]) ); } }); 

希望这可以帮助?