###実現したいこと
HTMLのチェック状態を取得して、次のオブジェクトを得たいです
js
1resuts = { 2 "apple" : {"xxx":true, "yyy":false } , 3 "banana": {"zzz":true } 4};
###エラー
pushの前にfruits_nameがないと怒られます
Uncaught TypeError: resuts[fruits_name] is undefined
###該当のソースコード
html
1<input type="checkbox" name="apple" data-fruits_name="apple" data-frits_taste="xxx" checked=""> 2<input type="checkbox" name="apple" data-fruits_name="apple" data-frits_taste="yyy"> 3<input type="checkbox" name="banana" data-fruits_name="banana" data-frits_taste="zzz" checked="">
js
1console.log( hoge() ); 2function hoge(){ 3 let resuts = {}; 4 $('input').each(function(i,e){ 5 const fruits_name = $(e).attr('data-fruits_name'); 6 const frits_taste = $(e).attr('data-frits_taste'); 7 const obj = { [frits_taste] : $(e).prop('checked') }; 8 resuts[fruits_name].push(obj); 9 }); 10 return resuts; 11}
###試したこと
エラーに従ってfruits_nameを追加してみたのですが、appleのxxxが得られませんでした。
console.log( hoge() ); function hoge(){ let resuts = {}; $('input').each(function(i,e){ const fruits_name = $(e).attr('data-fruits_name'); const frits_taste = $(e).attr('data-frits_taste'); const obj = { [frits_taste] : $(e).prop('checked') }; resuts[fruits_name] = []; // fruits_nameを追加 resuts[fruits_name].push(obj); }); return resuts; }
こういったときにはどうすべきでしょうか?
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/01 23:37