我有一个足球队的数据库。我把所有这些团队都列在这样的列表中:
<form method="GET" action="">
<select name="team1">
<option value="1">England</option>
<option value="2">Spain</option>
<option value="3">Italia</option>
<option value="4">Germany</option>
</select>
</form>
我想在这支球队之间进行一些足球比赛。所以,我在第一个列表中选择了一个团队,我在第二个列表中选择了另一个团队。
<form method="GET" action="">
<select name="team2">
<option value="1">England</option>
<option value="2">Spain</option>
<option value="3">Italia</option>
<option value="4">Germany</option>
</select>
</form>
但我希望在第二个列表中,除了我在第一个列表中选择的团队之外,还有所有团队。你能帮我吗 ?谢谢!
答案 0 :(得分:1)
$("select[name=team1]").on( 'change', function(e) {
var val = $(this).val();
$("select[name=team2] option[value="+val+"]").hide();
$("select[name=team2] option").not( "option[value="+val+"]" ).show();
$("select[name=team2]").val( $("select[name=team2] option:visible").val() );
});
答案 1 :(得分:0)
您可以尝试这样的事情:
(我给了两个选择的ID)
$('#team1').change(function(){
$('#team2').find('option[value*="'+ this.value +'"]').remove();
}).change();
我在两个小组中都添加了默认选项:
<option value="0">Select team1</option> //<----in team 1
<option value="0">Select team2</option> //<----in team 2
$(document).ready(function(){
var options = $('#team2').html(); //<--cache your options for team2 here outside
$('#team1').change(function () {
if (this.value !== '0') {
$('#team2').find('option[value*="' + this.value + '"]').hide();//<-hide here
} else {
$('#team2').html(options); //<----else show all the options
}
});
});