jQueryのforを使いinputを10個生成したのですが、各要素に対して各jsonの値を持たせたい場合、どう記述すれば良いのでしょうか。
※jsonはajaxで取得しています
■やりたいこと
--------- jsで以下を生成 ---------
<input type="radio" data-price="">
<input type="radio" data-price="">
<input type="radio" data-price="">
<input type="radio" data-price="">
<input type="radio" data-price="">
.
.
.
1つめの要素のdata属性には、(json["stone_01"]["price"])を持たせ、
2つめの要素のdata属性には、(json["stone_02"]["price"])を......
という感じです。
1つずつ直接、inputのdataに値を流し込めば済む話ですが、宜しくお願い致します。
■js
function create_input() { $.ajax({ type: 'GET', url: 'items.json', dataType: 'json' }) .then( function(json) { for (var i = 1; i <= 10; i++) { $('<label for=""><input type="radio" name="left_input" id="" class="left_radio" data-price=""><img src="" alt=""></label>') .addClass('color-' + i.toString()) .attr('for', 'left-input-' + i.toString()) .appendTo('.left-input-set') .find('input') .attr('id', 'left-input-' + i.toString()) .val('left_' + i.toString()) .next('img') .attr('src', '/assets/img/l_select_' + i.toString() + '.png') .addClass('input_img'); } }, function() { alert('再読み込みをして下さい。'); } ); } create_input();
■json
{ "stone_01": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_02": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_03": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_04": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_05": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_06": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_07": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_08": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_09": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" }, "stone_10": { "type": "hogehogeType", "name_en": "hogehoge", "name_jp": "テキスト", "price": "50,000", "mean": "テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト" } }
回答3件
あなたの回答
tips
プレビュー