javascript - 预选第二个 <select> 的链接选择

标签 javascript jquery html forms

http://jsfiddle.net/LZhQ8 有一个链式选择示例:

<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>')
    };
});})

其中一个选项显示在第一个下拉列表中,但第二个下拉列表的选项只有在第一个下拉列表中选择某些内容后才会显示。

我希望第二个下拉列表中的选项已经存在,具体取决于第一个下拉列表中的“selected='selected'”。

这样的事情可以做吗?

最佳答案

最简单的方法是通过在末尾链接对 .change() 的调用来触发现有的更改处理程序(其中 .change() 不带参数是 .trigger('change') 的快捷方式:

var options = {
blah1: ["A", "B", "C"],
blah2: ["D", "E", "F"],
blah3: ["G", "G", "I"]
};
$(function(){
  $('#firstSelect').change(function() {
    var x= $('#firstSelect').val();
    $('#secondSelect').html("");
    for(index in options[x]) {
        $('#secondSelect').append('<option value="' + options[x][index] + '">' + options[x][index] + '</option>')
    };
  }).change();   // <---- ADD THIS
;})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="firstSelect">
<option value="blah1">Blah1</option>
<option value="blah2" selected>Blah2</option>
<option value="blah3">Blah3</option>
</select>

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

作为可选的额外功能,我已将 $('#firstSelect :selected').val() 更改为 $('#firstSelect').val() 因为您可以直接获取(单选)选择元素的当前选定值,所以您不必通过选定的选项元素。

关于javascript - 预选第二个 <select> 的链接选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43083643/

相关文章:

javascript - CSS 媒体查询横向 android 软键盘

javascript - 是否修复了 Google Maps InfoWindows 的滚动位置更改错误?

jquery - 在生产服务器上保存实体时,日期属性上的日和月会被交换

javascript - 在一个div中加载的网页不可见,并且无法看到另一个div的滚动条的末尾

php - 将Mysql数据插入HTML表

javascript - 使用图片创建 facebook 事件 (Javascript)

javascript - CSS:导航栏

jquery - 鼠标移动事件问题

javascript - require.js 没有加载我的模块

javascript - jquery中的foreach循环