Javascript 链接选择,并预选第二个

Javascript 链接选择,并预选第二个,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,下面是一个链式选择示例: 其中一个选项显示在第一个下拉列表中,但第二个下拉列表的选项直到在第一个下拉列表中选择某个选项后才会显示 我希望第二个下拉列表中的选项已经存在,具体取决于第一个下拉列表中选择的内容 可以这样做吗?最简单的方法是通过将调用链接到.change,从而触发现有的更改处理程序,其中.change不带参数是.trigger'change'的快捷方式: 变量选项={ blah1:[A,B,C], blah2:[D,E,F], blah3:[G,G,I] }; $function{

下面是一个链式选择示例:

其中一个选项显示在第一个下拉列表中,但第二个下拉列表的选项直到在第一个下拉列表中选择某个选项后才会显示

我希望第二个下拉列表中的选项已经存在,具体取决于第一个下拉列表中选择的内容


可以这样做吗?

最简单的方法是通过将调用链接到.change,从而触发现有的更改处理程序,其中.change不带参数是.trigger'change'的快捷方式:

变量选项={ blah1:[A,B,C], blah2:[D,E,F], blah3:[G,G,I] }; $function{ $'firstSelect'.changefunction{ var x=$'firstSelect'.val; $'secondSelect'.html; forindex在选项中[x]{ $'secondSelect'。附加+选项[x][index]+ };
}.change;//最简单的方法是通过在where结尾链接对.change的调用来触发现有的更改处理程序。不带参数的.change是.trigger'change'的快捷方式:

变量选项={ blah1:[A,B,C], blah2:[D,E,F], blah3:[G,G,I] }; $function{ $'firstSelect'.changefunction{ var x=$'firstSelect'.val; $'secondSelect'.html; forindex在选项中[x]{ $'secondSelect'。附加+选项[x][index]+ };
}.change;//这很管用!我发现我必须将“可选额外值”改回原来的值,否则在我选择时什么也没有发生。这很奇怪-在我的答案中的可运行代码段中,它对我很管用,这也是我总是从select元素获取当前选定值的方式。注意jQuery没有做任何事情ial here:在普通JS中,document.getElementById'firstSelect'。值也可以工作。这很有效!但我发现,我必须将“可选额外值”改回原来的值,否则在我选择时不会发生任何事情。这很奇怪-在我的答案中的可运行代码段中,它对我来说很好,并且是我始终从中获取当前所选值的方式一个select元素。注意jQuery在这里没有做任何特殊的事情:在普通的JS中,document.getElementById'firstSelect'。value也可以工作。
<select id="firstSelect">
<option value="blah1">Blah1</option>
<option value="blah2">Blah2</option>
<option value="blah3">Blah3</option>
</select>

<select id="secondSelect">
</select>

var options = {
blah1: ["A", "B", "C"],
blah2: ["D", "E", "F"],
blah3: ["G", "G", "I"]
};
$(function(){
$('#firstSelect').change(function() {
    var x= $('#firstSelect :selected').val();
    $('#secondSelect').html("");
    for(index in options[x]) {
        $('#secondSelect').append('<option value="' + options[x][index] + '">' + options[x][index] + '</option>')
    };
});})