1

現在、JS ファイルに次のコードがあります。これは、生成されたチーム名を持つリンクのリストを読み取っています。リンクをクリックすると、関連するテキストボックスに各チームの正しい情報が入力されます。

以下に示すようにドロップダウン リストを配置しました。テキスト ボックスを使用してまったく同じことを行いたいので、ドロップダウン リストからオプションの 1 つを選択すると、そのチームのデータが取得されます。

リンクを使用するとき、私は a.teamLink を取り、そのうちの 1 つがクリックされるたびにリッスンしていますが、ドロップ ダウン リストの項目に対してこれをどのように行うかについて誰でも考えることができますか? ドロップダウン リスト用に生成されたコードと、関連するコードを以下に示します。

どんな助けでも大歓迎です!

生成されたドロップダウン リスト HTML の例:

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

生成されたリンク HTML の例:

<a id="1362174068837" href="#" class="teamLink">Liverpool</a>

各リンクをリッスンする JavaScript:

Team.initTeamsLink = function(){
  $("a.teamLink").live("click", function(e){
    e.preventDefault();
    var teamId = ($(this)[0]).getAttribute('id');

    $.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'){

      }
    });  
  });
 };

HTML用のドロップダウンリストJADEテンプレート

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

HTML用リンクリストJADEテンプレート

div#teamListDiv
  -if(teamsList.length > 0){
    -each team in teamsList
      a.teamLink(id="#{team.key}", href="#") #{team.name}
      br
  -}else{
    h3 No teams till now..
  -}

 Team.initTeamsDD = function(){
  $("teamList").live("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'){

      }
    });  
  });
 };

チーム機能を表示

  /**
    * Get Meta data of a Team
    * Send back all the details of a Team
    */
  app.get('/show/team/:key', function(req, res){
    util.log('Serving request for url [GET] ' + req.route.path);
    Team.findByKey(req.params.key, function(err, teamData){
      if(!err && teamData){
        teamData = teamData;
        res.json({
          'retStatus' : 'success',
          'teamData' : teamData
        });
      } else {
        util.log('Error in fetching Team by key : ' + req.params.key);
        res.json({
          'retStatus' : 'failure',
          'msg' : 'Error in fetching Team by key ' + req.params.key
        });
      }
    });
  });
4

1 に答える 1