2013-04-14 47 views
0

我有一些代碼來生成一個下拉菜單,並根據用戶選擇的下拉,它說2/4/8,下拉的數量將被創建。jQuery/JavaScript的 - 附加選擇ID

這裏是模板代碼:

div.row.hidden#rowTemplate 
    label.control-label(for="team") Team: 
    div.controls 
     select#team1(style='width: 160px;') 
      include teamsDropDown 

這裏是JS生成的下拉菜單:

腳本(類型= '文/ JavaScript的')

$("#nTeamSelector").change(function(){ 
    var nTeams = $("#nTeamSelector").val(); // Get the value of the team selector that you use 
    $("#rowContainer").empty() // Delete all existing dropdowns 
    for (var i=0; i<nTeams; i++){ 
     var newRow = $("#rowTemplate").clone(); // Exact copy of the element generated by Jade 
     /* 
     * here you should change all the little fields that 
     * make the dropdowns different. For example: 
     */ 
     //newRow.children(".control-label").setText("Team "+(i+1)+":"); 
     newRow.attr('id', 'team'+(i+1)+'Row'); 
     newRow.removeClass("hidden"); 
     $("#rowContainer").append(newRow); 
    } 
}); 

在那一刻我無法得到setText線路工作,因爲我得到了錯誤Uncaught TypeError: Object [object Object] has no method 'setText'。除此之外,生成的每個下拉列表都有一個select,id,#team1,它是從rowTemplate代碼中提取出來的,我想將其附加到團隊i中,以便生成每個下拉列表。

任何想法?

回答

1

我認爲你是後.text(textString)

newRow.children(".control-label").text("Team "+(i+1)+":"); 

要改變selectid你需要選擇它,以及和應用id。事情是這樣的:

newRow.find('select').attr('id', 'team' + (i + 1)); 
+0

感謝那些工作,任何想法有關'select'問題? – germainelol

+0

完美,謝謝。 – germainelol