0

2つのドロップダウンリストがあり、どちらも同じリストを保持しています。1つはチームteamsとして使用され、homeもう1つはチームとして使用されawayます。最初のドロップダウンリストが機能する時点でteam、リストからaを選択すると、それidnameページに出力されます。ただし、もう一方のドロップダウンをクリックしても、何も起こりません。したがって、たとえば、出力はIDとチーム名を取得し、それらをテキストボックスに出力します。

以下に各ドロップダウンリストと関連コードの例を示します。誰か助けてもらえますか?

ホームチームリスト用に生成されたHTML:

<select id="teamList" style="width: 160px;">
<option></option>
<option id="1362174068837" value="1362174068837" class="teamDropDown">Liverpool</option></select>

アウェイチームリスト用に生成されたHTML:

<select id="teamList" style="width: 160px;">
<option></option>
<option id="1362174068837" value="1362174068837" class="teamDropDown">Liverpool</option>
</select>

HTMLの生成に使用されるJADEテンプレート(両方のリストに使用):

div#teamDropDownDiv
    -if(teamsList.length > 0){
        select#teamList(style='width: 160px;')
            option
                -each team in teamsList
                    option.teamDropDown(id="#{team.key}",value="#{team.key}") #{team.name}

ページのJavaScript:

 Team.initTeamsDD = function(){
  $("#teamList").change(function(e){
    e.preventDefault();
    var teamId = $(this).val();

    $.get('/show/team/'+teamId, function(response){
      if(response.retStatus === 'success'){
        var teamData = response.teamData;
        $('#teamId').val(teamData.key);
        $('#teamName').val(teamData.name);
      } else if(response.retStatus === 'failure'){

      }
    });  
  });
4

1 に答える 1

1

2つの<select>要素は両方とも同じ「id」値、つまり「teamList」を持っています。同じ「id」を持つ2つの要素を持つことはできません。このため、変更時イベントハンドラーはそのうちの1つにのみ接続されます。それらを「homeTeamList」と「awayTeamList」に変更してから、次を使用する必要があります。

Team.initTeamsDD = function(){
  $("#homeTeamList, #awayTeamList").change(function(e){
...
于 2013-03-02T19:43:49.057 に答える