7

我有 2 个选择。我想根据我在第一个选择选项中选择的内容更改第二个选择选项中的下拉选项。我如何在 jquery 中做到这一点?

<select id="Manage">
   <option value="a">A</option>
   <option value="b">B</option>
   <option value="c">C</option>
<select>

如果从第一个选择选项中选择了 A,则为第二个选择选项

<select id='selectA'>
   <option value="1">1</option>
   <option value="2">2</option>
</select>

现在如果从第一个选择选项中选择 B

<select id='selectA'>
   <option value="3">3</option>
   <option value="4">4</option> 
</select>
4

2 回答 2

9

就像是:

$('#Manage').change(function() {
    var options = '';
    if($(this).val() == 'a') {
        options = '<option value="1">1</option><option value="2">2</option>';
    }
    else if ($(this).val() == 'b'){
        options = '<option value="3">3</option><option value="4">4</option>';
    }

    $('#selectA').html(options);
});

当然,您可以将您的选项存储在一个数组中,然后将它们即时组合或其他方式,这取决于您。

参考:.change(),.val()

于 2010-06-08T16:20:51.233 回答
3

您可以使用 3 种不同的技术:

  1. 选择第一个选项后,立即使用 AJAX 加载第二个选项的选项
  2. 您将第二个选择的所有选项保存在 JSON 对象中,然后在选择第一个选项后将其包含在内
  3. 您预定义所有选择并显示/隐藏和禁用/启用其他选择

第一个可能是最好的,因为您可以根据用户的第一个选择从数据库中获取值,并且您可以构建孔选择服务器端。

于 2010-06-08T16:22:52.610 回答