0

我正在尝试遍历 JSON 响应对象以创建类别项目列表。我正在尝试为每个超链接分配唯一的类别 ID 值,以便当用户单击超链接时,他们将转到第 2 页,然后该页面将根据所选的类别 ID 进行过滤。我在 FOR LOOP 中遇到了一个逻辑错误,其中所有类别 ID 都被分配给一个超链接。另外,有没有更好的方法在 HTML 页面之间传递数据?

小提琴

$(document).ready(function() {


  $.ajax({
url: "https://api.coursera.org/api/catalog.v1/categories",
type: 'GET',
dataType: "json",
success: function(data) {
    //alert(data.elements.length);


        for(var i = 0; i < data.elements.length; i++)
    {                       
        $("#courseLink").append("<a href='page2.html?CatId="+data.elements[i].id+"'>"+data.elements[i].name+"</a><br/>"); 
         $("#courseLink").click(function() {
            $("#test").append("work");
        });

    }



}


  }); 
});
4

1 回答 1

0

这里有几个问题。

问题1:

您试图在里面附加链接#courseLink,这也是一个链接(<a>标签)。

问题2:

$("#courseLink").click(function() {
  $("#test").append("work");
});

每次迭代都会发生单击事件绑定,这意味着“工作”一词将被附加与表单中的迭代一样多的次数。此外,事件应该绑定到class选择器而不是id(.courseLink而不是#courseLink) 因为ids 应该是唯一的。

修改了你的小提琴,以便每次点击只附加一次“工作”这个词。

于 2015-06-15T17:30:50.357 回答