列表选择mysql

时间:2014-01-01 15:17:57

标签: php jquery

我有一个足球队的数据库。我把所有这些团队都列在这样的列表中:

<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>

但我希望在第二个列表中,除了我在第一个列表中选择的团队之外,还有所有团队。你能帮我吗 ?谢谢!

2 个答案:

答案 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. 隐藏所选选项
  2. 显示所有其他选项
  3. 将值设置为可见的第一个选项

答案 1 :(得分:0)

您可以尝试这样的事情:

(我给了两个选择的ID)

$('#team1').change(function(){
    $('#team2').find('option[value*="'+ this.value +'"]').remove();
}).change();

Fiddle Demo

更新

我在两个小组中都添加了默认选项:

<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
     }
   });
});

Fiddle for updated one