Javascript 动态按钮未在JS中单击

Javascript 动态按钮未在JS中单击,javascript,html,servlets,Javascript,Html,Servlets,我正在解析JSON数据以添加到表中,需要实现分页。要对数据进行排序,标题元素必须是按钮。除了排序部分,代码运行良好。按钮不生成任何事件。谁能告诉我我做错了什么 添加按钮 for ( var x in res) { for ( var y in res[x]) { tableData += "<td>"; tableData += "<input type=\"button\" value=\"" + y

我正在解析JSON数据以添加到表中,需要实现分页。要对数据进行排序,标题元素必须是按钮。除了排序部分,代码运行良好。按钮不生成任何事件。谁能告诉我我做错了什么

添加按钮

for ( var x in res) {

        for ( var y in res[x]) {

            tableData += "<td>";
            tableData += "<input type=\"button\" value=\"" + y
                    + "\" onclick=\"loadData(" + y + ")\" />";
            tableData += "</td>";
            alert(tableData);
        }
        break;
    }
在上测试代码时,数据可能有问题。您的代码没有将按钮添加到html中,因此缺少很多点。我希望小提琴能帮上忙

最好使用console.log或div来打印“警报”,这很烦人

var tableData = "";

window.loadData = function (a){
  $("#result").html(a);
}

var res = {"btn1":[11,12],"btn2":[21,22]};
for ( var x in res) {

        for ( var y in res[x]) {

            tableData += "<td>";
            tableData += "<input type=\"button\" value=\"" + y
                    + "\" onclick=\"loadData(" + y + ")\" />";
            tableData += "</td>";
            //alert(tableData);
        }
            $("#test").append($(tableData));
        break;
    }
var tableData=“”;
window.loadData=函数(a){
$(“#结果”).html(a);
}
var res={“btn1”:[11,12],“btn2”:[21,22]};
用于(变量x,单位为res){
对于(变量y,单位为res[x]){
tableData+=“”;
tableData+=“”;
tableData+=“”;
//警报(表格数据);
}
$(“#测试”)。追加($(tableData));
打破
}

我研究了一下,发现了错误。这是一个单引号和双引号的简单问题。因为我使用了一个字符串值作为参数,所以我应该设置一个
'“…”
的组合,而不是
“…”

工作守则如下:

for ( var x in res) {

        for ( var j in res[x]) {
            tableData += "<td>";
            tableData += "<input type='button' value ='" + j
                    + "' onclick=\"loadData('" + "50r7" + j + "')\"/>";
            tableData += "</td>";
        }
        break;
    }
for(变量x以res表示){
对于(变量j,单位为res[x]){
tableData+=“”;
tableData+=“”;
tableData+=“”;
}
打破
}

您可以提供JSFIDLE吗?为什么单击按钮时会显示警报?您需要显示您的
loadData
函数。我们需要查看“loadData”函数的内容尝试使用此
而不是此
“”@Andy-是的。。让我把loadData的代码放在这里..我传递给JS脚本的数据如下:[{“ID”:“6”,“名称”:“鹿特丹”,“国家代码”:“NLD”,“地区”:“Zuid Holland”,“人口”:“593321”},{“ID”:“7”,“名称”:“Haag”,“国家代码”:“NLD”,“地区”:“Zuid Holland”,“人口”:“440900”}我在你的小提琴里用过这个。。它创建了按钮,但它们没有点击!知道为什么吗?
for ( var x in res) {

        for ( var j in res[x]) {
            tableData += "<td>";
            tableData += "<input type='button' value ='" + j
                    + "' onclick=\"loadData('" + "50r7" + j + "')\"/>";
            tableData += "</td>";
        }
        break;
    }