0

我有两个多选列表

<html><head></head>
<body>

<select name="cars" multiple="multiple" size="7">
  <option value="">-</option>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

<select name="drivers" multiple="multiple" size="7">
  <option value="1">Luiza</option>
  <option value="2">Sebastian</option>
  <option value="3">John</option>
  <option value="4">Arthur</option>
  <option value="5">Staszek</option>
  <option value="6">Patryk</option>
  <option value="7">Lucas</option>
  <option value="8">Madlen</option>
  <option value="9">Bartek</option>
  <option value="10">Inter</option>
</select>
</body></html>

我必须根据“汽车”选择“司机”

例如,当我选择沃尔沃时,它会自动选择 Luiza、John 和 Staszek。如果我选择萨博,我一定选择了亚瑟、国米、卢卡斯、帕特里克

如果不可能,那么从“汽车”中选择“司机”后应该禁用,当我从“汽车”中选择“-”时,“司机”应该再次处于活动状态。

4

2 回答 2

1

有了 jQuery,你可以轻松做到:

      $(document).ready(function (){
        $('#select-cars').change(function(){
            var car = $('#select-cars').val();
            // Uncheck ALL driver
            $('#select-drivers option').each(function (index, value) {
                $(this).removeAttr('selected');
            });
            // Check each driver in funcition of the car
            if (car == 'volvo') {
                //check Luiza etc
                $('#select-drivers option[value=1]').attr('selected', 'true');
            } else if (car == 'saab') {

            }

        });
    });
于 2012-05-19T09:37:54.620 回答
1

如果可能,请使用 ajax 执行此操作并从数据库中加载数据。或者用 jquery 试试这个

$(document).ready(function() {     
            $('#a2').attr("disabled", "disabled");
            $('#a1').change(function() {
                var str = "";
                $("#a1 option:selected").each(function () {
                    str += $(this).text() + " ";
                });
                if(str.trim()=="-")
                    $('#a2').removeAttr("disabled");
                else
                    $('#a2').attr("disabled", "disabled");
            });
 });

并为 case 提供 id 为“a1”,为“a2”提供驱动程序

于 2012-05-19T09:41:42.170 回答