我有两个多选列表
<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
如果不可能,那么在从“汽车”中选择后,应该禁用“驾驶员”,当我从“汽车”中选择“ - ”时,“驾驶员”应该再次激活。
答案 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”的驱动程序