javascript - 怎么简写这段jQuery功能?
高洛峰
高洛峰 2017-06-26 10:54:41
[JavaScript讨论组]
<!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[]" class="purpose" value="13">家庭装饰                                        
    <input type="checkbox" name="purpose_id[]" class="purpose" 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>
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(8)
我想大声告诉你
$(".purpose").change(function(){
            var index = $(this).index();
            if($(this).is(":checked")){
                $(".bd").eq(index).show();
            }else{
                 $(".bd").eq(index).hide();
            }
});
PHP中文网

首先给bd的p加上data-v对应上面的value

<p class="bd" data-v="13">1放家庭装饰 input</p>
<p class="bd" 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();
})
我想大声告诉你
<!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[]" class="purpose" value="0">家庭装饰                                        
    <input type="checkbox" name="purpose_id[]" class="purpose" 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>
typecho
$(function(){
   $.each($("input[name='purpose_id[]']"), function(index) {
        $(this).click(function(){
            if($(this).prop("checked")){
                $(".bd").eq(index).show();
            }else{
                $(".bd").eq(index).hide();
            }
        })
   });
})
学习ing

p加个属性跟复选框能对应,那个通过index来进行判断的写法位置稍微一改动就没用

<input type="checkbox" name="purpose_id[]" class="purpose" value="13">家庭装饰
<input type="checkbox" name="purpose_id[]" class="purpose" value="17">礼物馈赠

<p class="bd" id="13">1放家庭装饰 input</p>
<p class="bd" 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>
伊谢尔伦

$(".purpose").on('change',function(){

 var index = $(this).index();
  if($(this).is(":checked")){
      $(".bd").eq(index).show();
  }else{
      $(".bd").eq(index).hide();
  }

});

習慣沉默

<input type="checkbox" name="purpose_id[]" class="purpose" onchange="check1();" data="1" value="13">家庭装饰

<input type="checkbox" name="purpose_id[]" class="purpose" 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>
欧阳克

你这是要做什么功能啊,没看明白。。。。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号