【问题标题】:Bootstrap 3 - Link in Load table with jsonBootstrap 3 - 使用 json 链接加载表
【发布时间】:2015-09-28 08:05:16
【问题描述】:

我有一个使用 Table Bootstrap 插件加载表格的网站,我正在使用 json 加载表格

 [{
     "col1": "<a href='#' id"link-row">Juan Martinez Chavarria</a>"
 }]

问题是我需要通过“id”属性调用元素“a”的onclick事件。

 $("#link-row").click(function () {
     alert("Hello");
 });

调用事件,我在外部 js 文件中有它,但我无法访问事件或忽略 js 文件并且不显示警报。

请问,我如何从一个链接访问一个加载了 json 的表的 js 事件?

另外,json文件的重音,不用看网站,都是show coded。我该如何解决这个问题?

【问题讨论】:

  • 能否提供一个jsfiddle让我们更容易理解问题?
  • 首先检查你的json,因为我看到你对元素标签和json字符串都使用了双引号。那么你必须使用“on”而不是“click”,因为元素是在加载dom之后创建的,你需要委托。 jquery 默认使用“on”提供它,请参阅我的答案和演示

标签: javascript json bootstrap-table


【解决方案1】:

该选择器无法定位动态创建的内容,请使用:

 $("#yourTable tbody").click("#link-row",function () {
     alert("Hello");
 });

最好使用类而不是 id 来管理此类事件

【讨论】:

    【解决方案2】:
    $(function () {
    
        var links = [{
            "col1": '<a href="#" id="link-row">Juan Martinez Chavarria</a>'
        }];
    
        $.each(links, function (i, item) {
            $('table tbody').append('<tr><td>' + item.col1 + '</td></tr>');
        });
    
        $('#link-row').on('click', function (e) {
            e.preventDefault();
            alert(this.id)
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 2019-08-31
      相关资源
      最近更新 更多