2015-01-26 15 views
0

我有一个页面与json表拉从json api的信息。这工作正常。现在我的问题是,在最右边的列我想链接到我的另一个页面,这个链接将是一个独特的链接。目前,正如你可以看到的代码,我可以得到它链接到HTML页面12345,但所有的行都链接到这。哪个没有帮助哈!Json个人链接表列

我理想的想要第一个按钮链接到1.html然后第二个按钮链接到2.html等等。

这是我到目前为止的代码。

  for(var i =0;i < json.results.collection1.length;i++) { 

      var title = json.results.collection1[i].Name.text; 

      var venue = json.results.collection1[i].Venue.text; 
      var date = json.results.collection2[i].Date; 
      var button = "<button class='redirect-button' data-url='12345.html'>Link</button>"; 



      $("#apple").append("<tbody><tr><td>"+title+"</td><td>"+venue+"</td><td>"+date+"</td><td>"+button+"</td></tr></tbody>"); 
      $("#apple").find(".redirect-button").click(function(){ 
    location.href = $(this).attr("data-url"); 
      }); 
      } 

    }, 

很明显,所有的帮助将不胜感激。感谢萨姆

+0

难道你不能做'var button =“”;' – 2015-01-26 18:17:58

+0

不知道这会如何工作,小新的JSON编码,惊讶我得到了这么远;) – 2015-01-26 18:20:15

回答

0

只是为了解释上述

注释要创建的链接是<button>但实际上它只是一个字符串。 所以通过连接基于某些东西的字符串的URL部分(比如你的循环中你的i索引),你可以将它改变为任何你想要的东西。 因此,例如:

var button = "<button class='redirect-button' data-url='" + i + " .html'>Link</button>"; 

这使看起来像一个元素:

<button class='redirect-button' data-url='0.html'>Link</button> 

会给你0.html,1.HTML等(改data-url='" + i + " .html'data-url='" + (i+1) + " .html',你会得到1。 HTML,2.HTML,3.html ...)

,或者如果你可以改变API,让您在返回正确的链接,您可以使其更具可读性有点用:

var button = "<button class='redirect-button' data-url='" + json.results.collection2[i].LinkUrl + " .html'>Link</button>"; 

结果:

<button class='redirect-button' data-url='abcd.html'>Link</button> 

假设回报被称为LinkURL,它的值是“ABCD”

最后追加此字符串的$("#apple")元素,然后添加click事件,以查找data-url值并将当前浏览器位置更改为新值。

+0

嗨,那很好,我会例如能够在'(我+梨)'得到梨1梨2?要么?我的意思是我可以用数字做到这一点,但会更好的文字:) – 2015-01-26 18:37:55

+0

不,你想要做'data-url ='pear“+(i + 1)+”.html''来得到pear1,pear2只要将引号中的所有内容都认为已经写在页面上,然后将'+ whatever here +'作为附加的javascript来创建一个新的数字,例如在本例中,“i + 1”后面跟着更多的引号这可能已经写在页面上了。 (顺便说一下,在链接中如何获得'.html'扩展名) – 2015-01-26 18:44:38

+0

很酷,只是在讨论,认为可能更好地做独特的链接,TYVM! – 2015-01-26 18:51:11