如何基于另一个选择的选项(数组)更改选择选项?

时间:2019-01-29 07:25:57

标签: jquery laravel

我的记录中有2个选择选项,分别在foreach中获取。我想根据我在第一个选择选项中选择的内容来更改第二个选择选项中的下拉选项。

<select id="main[{{$user->id}}]">
   <option value="a">A</option>
   <option value="b">B</option>
   <option value="c">C</option>
<select>

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

<select id='sub[{{$user->id}}]'>
   <option value="1">1</option>
   <option value="2">2</option>
</select>

我尝试了普通方法,但仅适用于第一次选择

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

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

1 个答案:

答案 0 :(得分:0)

尝试一下

///在您的foreach循环内

<select id="main[{{$user->id}}]" class="main">
   <option value="a">A</option>
   <option value="b">B</option>
   <option value="c">C</option>
</select>

<select id='sub[{{$user->id}}]' class='sub'>
   <option value="1">1</option>
   <option value="2">2</option>
</select>

///退出foreach循环

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

        $(this).next('.sub').html(options);
    });
</script>