javascript - 怎么簡寫這段jQuery功能?
問題描述
<!DOCTYPE html><html lang='zh'><head> <meta charset='UTF-8' /> <meta name='viewport' content='width=device-width, initial-scale=1.0' /> <meta http-equiv='X-UA-Compatible' content='ie=edge' /> <title>Document</title> <script src='http://code.jquery.com/jquery-2.1.1.min.js'></script> <style>.bd {display: none;} </style></head><body> <input type='checkbox' name='purpose_id[]' value='13'>家庭裝飾 <input type='checkbox' name='purpose_id[]' value='17'>禮物饋贈 <p class='bd'>1放家庭裝飾 input</p> <p class='bd'>2放禮物饋贈 input</p><script>$(function(){ var onff0 = true; var onff1 = true; $(’.purpose:eq(0):checkbox’).on(’click’,function(){if (onff0) { $(’.bd:eq(0)’).css(’display’,’block’);} else { $(’.bd:eq(0)’).css(’display’,’none’);}onff0 = !onff0; }) $(’.purpose:eq(1):checkbox’).on(’click’,function(){if (onff1) { $(’.bd:eq(1)’).css(’display’,’block’);} else { $(’.bd:eq(1)’).css(’display’,’none’);}onff1 = !onff1; })}) </script> </body></html>
問題解答
回答1:$('.purpose').change(function(){ var index = $(this).index(); if($(this).is(':checked')){$('.bd').eq(index).show(); }else{ $('.bd').eq(index).hide(); }});回答2:
首先給bd的p加上data-v對應上面的value
<p data-v='13'>1放家庭裝飾 input</p><p data-v='17'>2放禮物饋贈 input</p>$(’.purpose’).on(’click’,function(){ var $bd = $(’p[data-v=’ + $(this).val() + ’]’); if($bd.is(':hidden'))$bd.show(); else$bd.hidden();})回答3:
<!DOCTYPE html><html lang='zh'><head> <meta charset='UTF-8' /> <meta name='viewport' content='width=device-width, initial-scale=1.0' /> <meta http-equiv='X-UA-Compatible' content='ie=edge' /> <title>Document</title> <script src='http://code.jquery.com/jquery-2.1.1.min.js'></script> <style>.bd {display: none;} </style></head><body> <input type='checkbox' name='purpose_id[]' value='0'>家庭裝飾 <input type='checkbox' name='purpose_id[]' value='1'>禮物饋贈 <p class='bd'>1放家庭裝飾 input</p> <p class='bd'>2放禮物饋贈 input</p><script>$(function(){ $(’.purpose:checkbox’).on(’click’,function(e){ $(’.bd:eq(’ + e.target.value + ’)’).css(’display’, e.target.checked ? ’block’ : ’none’); })}) </script></body></html>回答4:
$(function(){ $.each($('input[name=’purpose_id[]’]'), function(index) {$(this).click(function(){ if($(this).prop('checked')){$('.bd').eq(index).show(); }else{$('.bd').eq(index).hide(); }}) });})回答5:
p加個屬性跟復選框能對應,那個通過index來進行判斷的寫法位置稍微一改動就沒用
<input type='checkbox' name='purpose_id[]' value='13'>家庭裝飾<input type='checkbox' name='purpose_id[]' value='17'>禮物饋贈<p id='13'>1放家庭裝飾 input</p><p id='17'>2放禮物饋贈 input</p><script> $(function () {$(’input[type=checkbox]’).on(’click’, function () { var $p = $('#'+ $(this).val()); $(this).attr('checked') ? $p.show() : $p.hide();}) })</script>回答6:
$('.purpose').on(’change’,function(){
var index = $(this).index(); if($(this).is(':checked')){ $('.bd').eq(index).show(); }else{ $('.bd').eq(index).hide(); }
});
回答7:<input type='checkbox' name='purpose_id[]' onchange='check1();' data='1' value='13'>家庭裝飾
<input type='checkbox' name='purpose_id[]' onchange='check2()' data='2' value='17'>禮物饋贈<p class='bd'>1放家庭裝飾 input</p><p class='bd'>2放禮物饋贈 input</p><script> function check1(){$(’.bd:eq(0)’).toggle(); } function check2(){$(’.bd:eq(1)’).toggle(); }</script>回答8:
你這是要做什么功能啊,沒看明白。。。。。。
相關文章:
1. php - 請問大批量數據處理,如何分割?2. html5和Flash對抗是什么情況?3. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)4. javascript - vue過渡效果 css過渡 類名的先后順序5. css右浮動字的順序顛倒了6. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。7. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?8. javascript - vuejs+elementui 購物車價格計算,點擊加減號修改數量總價都不會改變,但是計算執行了9. javascript - 如何使用loadash對[object,object,object]形式的數組進行比較10. javascript - 我是做web前端的,公司最近有一個項目關于數據統計的!
