jqeryでurlをlocationで取得し
URLにマッチした場合配列でJSONデータをhtmlに書き出す
URL取得し表示非表示はできたのですが、
配列と組み合わせる方法がわかりません。
■URL取得
url取得⇒hogeの場合htmlの#Area表示
■jsonデータをhtmlに書き出し
urlがhogeの場合⇒jsonからarea1のjsonデータ取得⇒htmlの#Areaにレンダリング
わかりずらく申し訳ないですが、
組み合わせる方法をアドバイスいただけませんか。
よろしくお願いします。
js
1<script> 2//url取得 3var url = location.pathname; 4 $(document).ready(function(){ 5 if(document.URL.match(url)) { 6 $('#Area').show(); 7 } else{ 8 $('#Area').hide(); 9 } 10}); 11//url取得 12 13//html書き出し 14 $(function () { 15 $.ajax({ 16 dataType: "json", 17 url: "data.json", 18 success: function (data) { 19 $("#Area1 div").remove(); 20 area = data.area; 21 var areadiv = $("<div>").attr('class', 'row'); 22 for (i = 0; i < 3; i++) { 23 areadiv.append('<div><p>' + 24 "<img src=" + area[i].img + "/>" + 25 area[i].name + "</p>" + 26 "<p>" + area[i].tel + "</p>" + 27 "<p>" + area[i].mail + "</p></div>"); 28 } 29 areadiv.appendTo("#Area"); 30 } 31 }); 32 }); 33//html書き出し 34</script> 35 36<div id="Area"></div> 37
css
1<style> 2 #Area { 3 display: none; 4 } 5 6 </style> 7
json
1 2 3{ 4 "area1":[ 5 { 6 "name": "hoge1", 7 "tel": "03-2444-xxxx", 8 "mail": "makoto@example.com", 9 "img" : "https://" 10 }, 11 { 12 "name": "hoge2", 13 "tel": "03-4444-xxxx", 14 "mail": "tanaka@example.com", 15 "img" : "https:/" 16 }, 17 { 18 "name": "hoge3", 19 "tel": "03-2222-xxxx", 20 "mail": "hanako@example.com", 21 "img" : "https://" 22 } 23 24 ], 25 "area2":[ 26 { 27 "name": "hoge4", 28 "tel": "03-2444-xxxx", 29 "mail": "makoto@example.com", 30 "img" : "http" 31 }, 32 { 33 "name": "hoge5", 34 "tel": "03-4444-xxxx", 35 "mail": "tanaka@example.com", 36 "img" : "https://" 37 }, 38 { 39 "name": "hoge6", 40 "tel": "03-2222-xxxx", 41 "mail": "hanako@example.com", 42 "img" : "https://" 43 } 44 ] 45
回答1件
あなたの回答
tips
プレビュー