前提・実現したいこと
jqueryのdatatablesから「選手データを取得」ボタンを押すと選択した値を取得する様にしました。
そして、そのデータをローカルストレージに保存しました。
しかし、localStorage.setItemで保存しようとするとkeyの値が上書きされてしまい。
最後に取得した選手データしか保存出来ません。全て保存したいです。
該当のソースコード
html
1 <ol id="base-list"> 2 </ol> 3 <button id="clear">clear</button> 4 <table id='base-table' class="table table-bordered"> 5 <thead> 6 <tr><th>選手</th>{%- for i in players_columns %}<th>{{ i|e }}</th>{%- endfor %}</tr> 7 </thead> 8 <tbody> 9 {%- for i in players_values %} 10 <tr><th>{{ players_index[loop.index0]|e }}</th>{% for j in i %}<td>{{ j|e }}</td>{% endfor %}</tr> 11 {%- endfor %} 12 </tbody> 13 </table> 14 <script> 15 $(document).ready(function() { 16 var table = $('#base-table').DataTable( { 17 dom: 'Bfrtip', 18 select: true, 19 buttons: [ 20 { 21 text: '選手データ取得', 22 action: function () { 23 var data = table.rows( { selected: true } ).data(); 24 localStorage.setItem('key',data[0].slice(0)) 25 $("#base-list").append(`<li>${data[0].slice(0)}</li>`); 26 } 27 } 28 ] 29 } ); 30 } ); 31 var player = document.getElementById('base-list'); 32 if (null != localStorage.getItem('key')){ 33 player.innerHTML = ``; 34 } 35 document.getElementById('clear').addEventListener('click', function(){ 36 localStorage.clear(); 37 }) 38</script>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/05 13:39