2017-04-26 29 views
0

我通過調用一個函數來修復這個問題,這個函數把它所在的表格的行號設置爲:)如何將數據傳遞到HTML標籤內部的函數中?

我有這段代碼將一些不同的東西排序到表格中,工作正常。的問題是將數據傳遞到一個稱爲HTML標記中的功能,像這樣: See reference here

$.when(document, getTournamentsData()).done(function(){ 
var output = ""; 
$.each(tournamentsData, function(key, data){ 
     output += "<tr class='data_row "+data.isOpen+"' id='"+data._id+"'>"; 
     output += "<td>" + (key+1) + "</td>"; 
     output += "<td><b>" + data.name + "</b></td>"; 
     output += "<td>Start: " + data.begintime + "<br>Slut: " + data.endtime + "</td>"; 
     output += "<td><input class='btn btn-primary' type='button' value='Se beskrivelse' onclick='showTourDescription(data.description)'/></td>"; 
     output += "<td><input class='btn btn-primary' type='button' value='Se billede' onclick='showPic(data.image)'/></td>"; 
     output += "<td>Max antal: "+ data.max_teams +"<br>Tilmeldte: "+ data.teams.length +"</td><br>"; 
     output += "<td><input class='btn btn-primary' type='button' value='Se deltagere' onclick='showMembers(data.teams)'/></td>"; 
     output += "<td>" + prizes(data.prices) + "</td>";                        
     output += "</tr>"; 
}); 
output += ""; 
$('#data_insert').append(output); 

});

所有我的功能做的是安慰的數據,我得到錯誤「的數據沒有定義」

這是一個完整的腳本https://github.com/Jakobtottrup/OptekSemester2/blob/master/Web/public/js/tournaments_admin.js

+1

你有沒有將tournamentsData回覆到控制檯,以確保有什麼?如果數據未定義,則可能是tournamentsData也爲null或未定義... – Snowmonkey

+0

是的,其他「數據」變量正常工作。它只是函數調用 – Christian

+0

中的那些變量您是否忘記將tournamentsData作爲參數傳遞給.done回調函數?我沒有看到它在任何地方定義... –

回答

0

更新:看起來你逝去的數據串。看看是否能工程

$.each(tournamentsData, function(data) { 

onclick='showTourDescription(" + data.description + ")

+0

謝謝,但數據正常傳入,因爲所有其他變量(fx「data.isOpen」)都正常工作 - 只有函數調用中的那些變量不起作用 – Christian

+0

幫助我明白。 getTournamentsData()返回一些數組數據,併爲每個項目循環構造html字符串。正確?你試過我的代碼嗎? – Ovais

+0

發生什麼事是你傳遞data.description(字符串'data.description')而不是它的價值。結束引用的字符串,連接該值,然後重新啓動帶引號的字符串。 – Snowmonkey

0

// list tournaments 
 
$.when(document, getTournamentsData()).done(function(){ 
 
    var output = ""; 
 
    $.each(tournamentsData, function(key, data){ 
 
      output += "<tr class='data_row "+convertBoolean(data.isOpen)+"' id='"+data._id+"'>"; 
 
      output += "<td>" + (key+1) + "</td>";                           // index 
 
      output += "<td><b>" + data.name + "</b></td>";                         // navn 
 
      output += "<td>Start: " + data.begintime + "<br>Slut: " + data.endtime + "</td>";                // start/slut 
 
      output += "<td><input class='btn btn-primary' type='button' value='Se beskrivelse' onclick='showTourDescription("+data.description+")'/></td>";  // beskrivelse TODO 
 
      output += "<td><input class='btn btn-primary' type='button' value='Se billede' onclick='showPic("+data.description+")'/></td>";      // billede 
 
      output += "<td>Max antal: "+ data.max_teams +"<br>Tilmeldte: "+ data.teams.length +"</td><br>";             // hold 
 
      output += "<td><input class='btn btn-primary' type='button' value='Se deltagere' onclick='showMembers("+data.teams"+)'/></td>";      // medlemmer 
 
      output += "<td>" + prizes(data.prices) + "</td>";                        // præmier 
 
      output += "</tr>"; 
 
    });

我已經採取了你的代碼,並且您在HTML字符串做自己,在級聯事件處理程序也是如此。應該是你需要做的一切。

+0

我試過你的解決方案,但是我得到了「意外的字符串」> onclick =' showMembers(「+ data.teams」+)'< – Christian

+0

難道這是因爲你製作了「+ data.teams」+而不是「+ data.teams +」?注意最後加上引用 – Snowmonkey

+0

你明白我的意思了,@Christian? – Snowmonkey

相關問題