Javascript 通过JSON接收数据时,清除子下拉列表中的旧选项
我通过父下拉列表第一个下拉列表中的onchange事件填充子下拉列表第二个下拉列表。之后,通过子下拉列表的onchange事件,我将自动填充三个文本框。但我的问题是第一个下拉列表。第一个下拉列表的Id为combo,第二个下拉列表的Id为combo1 当我从第一个下拉列表中选择一个值,然后在第二个下拉列表中选择一个值时,通过在auto.jsp中添加下面编写的javascript,我得到了一个值1。但当我在第一个下拉列表中选择选项B时,在第二个下拉列表中我得到了2,但旧值1应该从第二个下拉列表中删除,但它仍然保留在那里,为什么?类似地,当我从第一个下拉列表中多次选择A或B时,第二个下拉列表中出现了多个值1或2,我想删除并显示一次,即如果选择A,则显示1,如果选择B,则显示2,如何操作 auto.jsp 在auto.jsp“combo”change匿名函数中,替换:Javascript 通过JSON接收数据时,清除子下拉列表中的旧选项,javascript,jquery,ajax,json,jsp,Javascript,Jquery,Ajax,Json,Jsp,我通过父下拉列表第一个下拉列表中的onchange事件填充子下拉列表第二个下拉列表。之后,通过子下拉列表的onchange事件,我将自动填充三个文本框。但我的问题是第一个下拉列表。第一个下拉列表的Id为combo,第二个下拉列表的Id为combo1 当我从第一个下拉列表中选择一个值,然后在第二个下拉列表中选择一个值时,通过在auto.jsp中添加下面编写的javascript,我得到了一个值1。但当我在第一个下拉列表中选择选项B时,在第二个下拉列表中我得到了2,但旧值1应该从第二个下拉列表中删除
$.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) {
$("#combo1").append(
$("<option></option>").html(responseData.name).val(responseData.name)
);
});
与:
要将字符串拆分为数组,请查看此处:
它们的用途如下:
$.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) {
var splitValues = responseData.name.split(/,/);
$("#combo1").empty().append("<option value="0">Please select...</option>");
for (var idx in splitValues) {
$("#combo1").append(
$("<option></option>").html(splitValues[idx]).val(splitValues[idx])
);
}
});
希望这有帮助?谢谢twilson,但如果我想从combo1.jsp返回多个值,即1、2、3、4…等等,那么我应该如何在auto.jsp中编辑javascript,以便在选择A后,我可以看到1、2、3、4,同样,当我选择B时,第二个组合框的下拉列表中将出现5、6、7、8?还有,我应该如何编辑json数组,以便它可以在combo1.jsp中存储多个值?我正在尝试解决我的上述问题,但无法解决请帮助我尝试用小提琴来做,但没有发生,请看我的第一条评论,我已经提到过,我正在显示1,2,3,4,但都以下拉方式显示在一行中。我是这个领域的新手,请帮帮我,我明白你现在的意思了!添加链接到answer@twilson..your答案不起作用,请在终端中测试您的代码,只有在它起作用后,我才会接受您的答案。在第一个组合框中的onchange事件之后,我无法填充第二个组合框,但之前它已经出现了。
$.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) {
$("#combo1").append(
$("<option></option>").html(responseData.name).val(responseData.name)
);
});
$.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) {
$("#combo1").empty().append(
$("<option></option>").html(responseData.name).val(responseData.name)
);
});
$.getJSON('combo1.jsp', {firstcombobox : this.value}, function(responseData) {
var splitValues = responseData.name.split(/,/);
$("#combo1").empty().append("<option value="0">Please select...</option>");
for (var idx in splitValues) {
$("#combo1").append(
$("<option></option>").html(splitValues[idx]).val(splitValues[idx])
);
}
});