单击表中的特定数字后,如何使其重定向到不同的弹出窗口/表


//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 行为

最新更新