実現したいこと
ソート番号を使用して、ソートしたい。
ここに実現したいことを箇条書きで書いてください。
- xmlからデータを取得する
- ソート番号を使用して、ソートする
- htmlで出力する
該当のソースコード
XML形式
1<?xml version="1.0" encoding="UTF-8"?> 2<result> 3 4<template:block id="portfolio"> 5 <item> 6 <id>${ID}</id> 7 <title>建物名</title> 8 <number>ID</number> 9 <sort_number>ソート番号</sort_number> 10 <type>用途</type> 11 <type_number>用途ID</type_number> 12 <area>地域</area> 13 <area_number>地域ID</area_number> 14 <address>詳細_所在地</address> 15 <position>所在地</position> 16 <img>画像イメージのパス</img> 17 </item> 18</template:block> 19</result>
画面にはこんな形で出力されるのですが、この並び順を変更したいと考えています。
js
1test() 2 3function test() { 4 $.ajax({ 5 url: "test.xml", 6 success: function(result) { 7 // xmlデータからほしいデータをfindで探し処理 8 $(result).find("result item").each(function(index, item) { 9 // 要素ごとにタグを作成 10 var type_number = $(item).find('type_number').text(); 11 12 if (type_number === "1") { 13 //変数取得 14 var sort_number = $(item).find("sort_number").text(); 15 var area_number = $(item).find("area_number").text(); 16 var picture = $(item).find('img').text(); 17 var title = $(item).find('title').text(); 18 19 //並び替え 処理考え中 20 var sample = []; 21 var array = [] 22 sample = [sort_number,area_number,picture,title] 23 var array = sample 24 // sample.sort((a, b) => { 25 // return a.sort_number < b.sort_number ? -1 : 1; 26 // }); 27 28 $(function() { 29 var inHtml = "<li class='list_view list_area" + $(item).find("area_number").text() + "'>" 30 + "<a href='/ja/test/detail.html?id=" + $(item).find("id").text() + "'>" 31 + "<span class='test-type-list__img' style='background-image: url("" + picture + "")'></span>" 32 + "<p>" + $(item).find('title').text() + "</p>" 33 + "</a>" + 34 + "</li>"; 35 $('ul.portfolio-type-1.portfolio-type-1').append($(inHtml)); 36 }); 37 } 38 else if (type_number === "2") { 39 //同じ処理 40 } 41 else if (type_number === "3") { 42 //同じ処理 43 } 44 }); 45 //console.log(sample) 46 }, 47 error: function(data) { 48 console.log(data); 49 } 50 }); 51}
html
1<ul class="test-type-list tst-type-1"> 2 <!-- liをjsで追加している --> 3</ul>
調査したこと・試したこと
試行錯誤状態のため、こうできればすら見えていません。
最終的には、
[array
[ソート番号,XXX,XXXX,XXXXX,XXXXXX],
[ソート番号,XXX,XXXX,XXXXX,XXXXXX],
[ソート番号,XXX,XXXX,XXXXX,XXXXXX],
]
この形で配列をと整えれば、並び替えが可能と考えています。
課題
xmlをループさせるため、HTMLの出力が外になる。
うまく配列が作成できない。ばらばらの配列になってします。
回答1件
あなたの回答
tips
プレビュー