2015-01-26 16 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