如何选择“选择”的一部分

时间:2012-05-19 09:14:37

标签: html select

我有两个多选列表

<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。 如果我选择saab,我必须选择Arthur,Inter,Lucas,Patryk

如果不可能,那么在从“汽车”中选择后,应该禁用“驾驶员”,当我从“汽车”中选择“ - ”时,“驾驶员”应该再次激活。

2 个答案:

答案 0 :(得分: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') {

            }

        });
    });

答案 1 :(得分: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");
            });
 });

并将案例的id作为“a1”和“a2”的驱动程序