//http request from json data
$http({
method: 'GET',
url: '/Home/GetJson'
}).then(function successCallback(response) {
console.log(response);
$scope.jsonData = response;
var data = response.data;
$scope.ngData = response.data;
})
从 JSON 数据创建的表如下所示:
var table = $('<table id="Table"></table>');
var someRow = "<tr class='someClass' ><th id='header1' >Product</th><th>P1</th><th>P2</th><th>P3</th><th>P4</th><th>Total</th></tr>";
$("#Table").append(someRow);
for (var i = 0; i <data.length; i++) {
var tr = $('<tr></tr>');
for (var key in data[i]) {
var td = $('<td></td>');
td.attr('class', key);
td.append("<a href='#'>" + data[i][key] + "</a>");
tr.append(td);
}
table.append(tr);
}
$('#div1').html(table.prepend(someRow));
此代码与 AngularJS 无关。它是一个纯JS/JQuery代码。
因此;我会在 JQuery 上提供回复。
您需要动态创建;创建单元格后;对于每个按钮,要加载弹出窗口的事件,例如:
for(var i=0;i< data.length;i++)
{
for(var key=0;j< data[i].length;j++)
{
data[i][j].addEventListener('click',function(){
// Your On Click code to load your modal
},false);
}
}
此代码应添加到元素位于 DOM 之后;因此在 之后: $('#div1').html(table.prepend(someRow));
------编辑
经过更多分析;我看到你混合了AngularJS和JQUERY!这是一个非常大的错误,因为JS和Angular的工作方式不同。
因此;或者您更改了 JSON 的加载部分;并添加计划$ajax加载系统;或者你删除了使用 Jquery 的 DOM 的动态创建,并添加了一个标准的 Angular JS 行为