简体   繁体   English

如何在HTML标记内将数据传递到函数中?

[英]How to pass data into function, inside HTML tags?

I fixed the problem by calling a function, that graps the id of the table row it is placed in :) 我通过调用一个函数来解决了该问题,该函数可以掌握它所在的表行的ID :)

I have this piece of code sorting some different stuff into a table, that works fine. 我有这段代码将一些不同的东西排序到一个表中,效果很好。 The problem is to pass data into a function called inside HTML tags, like so: See reference here 问题是将数据传递到HTML标记内部的函数中,如下所示: 请参见此处的参考

$.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);

}); });

All I do in the function is to console the data, and I get error "data is not defined" 我在该功能中所做的只是控制台数据,并且出现错误“未定义数据”

This is the full script https://github.com/Jakobtottrup/OptekSemester2/blob/master/Web/public/js/tournaments_admin.js 这是完整的脚本https://github.com/Jakobtottrup/OptekSemester2/blob/master/Web/public/js/tournaments_admin.js

UPDATE: Looks like you are passing data as string. 更新:看起来您正在作为字符串传递数据。 See if that works 看看是否可行

$.each(tournamentsData, function(data) {

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

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

I've taken your code, and as you've done in the HTML strings themselves, concatenated in the event handlers too. 我已经获取了您的代码,并且正如您对HTML字符串本身所做的那样,也将其连接在事件处理程序中。 Should be all you need to do. 应该是您所需要做的。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM