【发布时间】:2017-01-26 06:49:30
【问题描述】:
这是我正在使用的 jQuery 代码,它可以帮助我在更改第一个选择框时获取所需的选择框的值。
$(document).ready(function () {
$("#select1").change(function(){
$('.quantity').val('');
$('#trblock').fadeIn();
if ($(this).data('options') == undefined) {
$(this).data('options', $('#select2 option').clone());
}
var id = $(this).val();
var options = $(this).data('options').filter('[value=' + id + ']');
$('#select2').html('<option value="">').append(options);
});
});
这里发生的情况是,每当我从第一个选择框更改选择框值时,我都会在第二个选择框中得到一些值。但是当我回滚到第一个文本框中先前选择的选项时,我发现第二个选择框已经显示了我之前选择的选项。我想要的是,每当我更改选择第一个选择框选项时,第二个选择框应该以 <option value=""></option> 之类的空白选项开头,而不是第二个选择框中先前选择的选项。
为方便起见,我将其滚动到点。
-
在第一个选择框示例“动物”中选择了一个选项。
<select name="" id="select1"> <option value=""></option> <option value="1">Animals</option> <option value="2">Games</option> <option value="3">Fruits</option> </select> -
在第二个选择框中得到了一些值。
<select name="" id="select2"> <option value=""></option> <option value="1">Cat</option> <option value="2">Dog</option> <option value="3">Monkey</option> </select> 从第二个选择框示例“Dog”中选择了一个值。
然后我想从第一个选择框切换选择,所以我选择了“水果”。
-
在第二个选择框中得到了一些值。
<select name="" id="select2"> <option value=""></option> <option value="1">Apple</option> <option value="2">Banana</option> <option value="3">Grapes</option> </select> 这次我选择了葡萄。好的,到这里为止。
但是,如果我再次将我的第一个选择更改为动物,我应该让第二个选择框以空选项(空白字段)开始,但它以先前选择的“狗”开始。这是我不想要的。每次我从第一个选择框中更改选择选项时,我希望第二个选择框以空白选项字段开头,以便我可以再次从完整列表中进行选择,即“猫”、“狗”、“猴子”。
【问题讨论】:
标签: javascript php jquery html