如何存储数据并根据另一个选择值分配选择选项

How to store data and assign select options based on another select value?

本文关键字:选择 另一个 选项 分配 何存储 存储 数据      更新时间:2023-09-26

我首先选择了多个选项,然后选择了另一个:

<select class="form-control" id="select1">
  <option value="">Choose</option>
    <option value="1">select1_option1</option>
    <option value="2">select1_option2</option>
    ...
<select class="form-control" id="select2">
  <option value="">Choose</option>
  ...

select2中的可用选项取决于select1中所选的值。

数据可以以以下格式存储(或任何其他格式,但应尽量减少):

var select2data = {1:{11:"select2_option1",12:"select2_option2",13:"select2_option3",14:"select2_option4"},
                   2:{21:"select2_option1",22:"select2_option2"}};

因此,如果在第一次选择中选择了值1,那么select2应该如下所示:

<select class="form-control" id="select2">
  <option value="">Choose</option>
  <option value="11">select2_option1</option>
  <option value="12">select2_option2</option>
  ...

我知道如何为select2分配新值,但我不知道如何读取select2data值——请参阅jsfiddle。

你必须这样做:

 $('#select2')
        .find('option')
        .remove()
        .end()
    $.each(select2data[value], function (index, item) {
        console.log(item)
        $('#select2').append('<option value="' + index + '">' + item + '</option>')
    })

小提琴演示:

http://jsfiddle.net/4ujs6jf9/3/