前提・実現したいこと
jqueryを利用してjsonを読み込みます。
HTMLに商品リストがあってその商品idに対応した値段の取得をしたいです。
発生している問題・エラーメッセージ
商品は複数あってセレクトで選んだ日数と商品idのリストを送信するとjasonがidと値段がセットになって返ってきます。そのときjsonの並びはばらばらなのでHTMLと対応させるのにどうしたらいいか
書き方がわかりません。
該当のソースコード
HTML
<select class="day"> <option value="1">1泊2日</option> <option value="2">2泊3日</option> <option value="3">3泊4日</option> </select> <ul class="item-list"> <li id="iteme_id_1"> <p class="img"><a href="#"><img></a></p> <h4><a href="#">商品名リンク</a></h4> <p class="txt">説明テキスト説明テキスト</p> <p class="price">税込 ¥0,000</p> </li> <li id="iteme_id_10"> <p class="img"><a href="#"><img></a></p> <h4><a href="#">商品名リンク</a></h4> <p class="txt">説明テキスト説明テキスト</p> <p class="price">税込 ¥0,000</p> </li> <li id="iteme_id_30"> <p class="img"><a href="#"><img></a></p> <h4><a href="#">商品名リンク</a></h4> <p class="txt">説明テキスト説明テキスト</p> <p class="price">税込 ¥0,000</p> </li> ---------------------------------- js ------------------------------------- var item_id_list = []; item_list.each(function() { var ids = $(this).attr('id').replace('iteme_id_', ''); item_id_list.push(ids); }); function call(days,item_list){ $.ajax({ url: apiurl, type: 'POST', data: { "days": days, "item_id_list": item_id_list }, dataType: 'json', cache: false, timeout: 1000,}).done(function(data) {
// 通信成功時の処理
}).fail(function() {
// 通信失敗時の処理
}).always(function() {
});
}
//日数の取得
$(".day").change(function() {
var days = $(this).val();
var item_list=$(this).closest('.parts').find('.parts-item-list li');
call(days,item_list);
});
json
{
"success": true,
"prices": [
{
"item_id": 10,
"price": 1000
},
{
"item_id": 30,
"price": 2000
},
{
"item_id": 1,
"price": 3000
}
]
}
試したこと
data.prices.each(function() {}でいけないかなと思ったのですがだめですよね・・・
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/18 04:35
2018/05/18 04:39
2018/05/18 04:50
2018/05/18 05:37
2018/05/18 07:43
2018/05/18 08:07
2018/05/18 08:13
2018/05/18 14:54