使用jQuery向表单添加另一个下拉列表

时间:2012-07-27 21:19:41

标签: jquery

在第一个下拉菜单中选择了一个选项后,我正在尝试向表单添加另一个下拉列表。

以下是表格的一部分。当选择具有名称的下拉列表时,在这种情况下有3个类,EDMATH 502,EDTECH 401,Math 101,我希望在下一个下拉列表中显示不同的图像ID(“image_os_image_id”)。这个想法是每个班级都可以访问不同的图像。

我知道这是jquery的工作,但我很想知道如何做到这一点。我已经搜索了很多,但是由于搜索不佳或者我似乎总是想出一个命中来为列表添加另一个选项,而不是添加另一个列表,这一点我受到了阻碍。

<div class="control-group">
    <label class="control-label" for="select01">Class</label>
    <div class="controls">
        <select id="select01" name="class_name">
            <option value='EDMATH 502'>EDMATH 502</option>
            <option value='EDTECH 401'>EDTECH 401</option>
            <option value='Math 101'>Math 101</option>
        </select>
    </div>
    <!-- class -->
</div>
<div class="control-group" </div>
    <label class="control-label" for="select01">Image</label>
    <div class="controls">
        <select id="select01" name="image_os_image_id">
            <option value='647abf63-fd95-42a7-a744-e1885f8d5c16'>photoshop</option>
            <option value='0f53de4a-1bb6-43bd-a567-fe181b25cfbe'>matlab</option>
            <option value='647abf63-fd95-42a7-a744-e1885f8d5c16'>photoshop</option>
            <option value='0f53de4a-1bb6-43bd-a567-fe181b25cfbe'>matlab</option>
        </select>
    </div>
    <!-- image -->
</div>
<!-- control group -->

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

  1. 您好先将第二个选择ID从'select01'更改为'select02' - ID应该是唯一的
  2. 包括jquery
  3. 添加脚本

        $(document).ready(function(){
            $('#select01').bind('change', function(){
    
                $('#select02 option').remove();
    
                switch($(this).val()) {
                case 'EDMATH 502':
                    $('#select02').append('<option value="647abf63-fd95-42a7-a744-e1885f8d5c16">photoshop</option>');
                    $('#select02').append('<option value="0f53de4a-1bb6-43bd-a567-fe181b25cfbe">matlab</option>');
                    $('#select02').append('<option value="647abf63-fd95-42a7-a744-e1885f8d5c16">photoshop</option>');
                    $('#select02').append('<option value="0f53de4a-1bb6-43bd-a567-fe181b25cfbe">matlab</option>');
                    break;
                case 'EDTECH 401':
                    $('#select02').append('<option value="test1">test1</option>');
                    $('#select02').append('<option value="test2">test11</option>');
                    break;
                case 'Math 101':
                    $('#select02').append('<option value="test2">test2</option>');
                    $('#select02').append('<option value="test22">test22</option>');
                    break;
                }
    
    
    
            })
        });