https://www.w3schools.com/bootstrap/bootstrap_forms_inputs.asp
こちらのBootstrap Checkboxesを使用してドロップダウン内にチェックボックスのリストを作成しております。
html
1<div class="btn-group"> 2 <button type="button" class="btn dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> 3 Hoge 4 </button> 5 <ul class="dropdown-menu"> 6 <li> 7 <div class="checkbox"> 8 <label> 9 <input type="checkbox" value="1" name="selected_item"> 10 item 1 11 </label> 12 </div> 13 </li> 14 <li> 15 <div class="checkbox"> 16 <label> 17 <input type="checkbox" value="2" name="selected_item"> 18 item 2 19 </label> 20 </div> 21 </li> 22 <li> 23 <div class="checkbox"> 24 <label> 25 <input type="checkbox" value="3" name="selected_item"> 26 item 3 27 </label> 28 </div> 29 </li> 30 <li> 31 <div class="checkbox"> 32 <label> 33 <input type="checkbox" value="4" name="selected_item"> 34 item 4 35 </label> 36 </div> 37 </li> 38 </ul> 39</div>
js
1$(".checkbox").on('click', function(){ 2 var selected = []; 3 $.each($('input[name="selected_item"]:checked'), function(){ 4 selected.push($(this).val()); 5 }); 6 console.log(selected); 7});
上記の様にdiv class="checkbox"
要素がクリックされると現在セレクトされている値をオブジェクトで返したいのですが、どうしてもconsole.logの結果が2回表示されてしまいます。
例) item 1をクリック後、item2をクリックした場合
[] ["1"] ["1"] (2) ["1", "2"]
想定としては1回目に["1"]
2回目のクリックで["1","2"]
が帰ってくるのが理想的なのですが、原因が掴めずに格闘しております。
どなたかご教示いただけますと幸いです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/12 13:36
2017/07/12 13:49