javascript - radio类型的input标签选中后隐藏其他元素
黄舟
黄舟 2017-04-11 12:46:42
[JavaScript讨论组]

radio单选中电子邮箱把下方写着电子邮箱的p隐藏,而单选中手机把下方写着手机的p隐藏,代码如下,如何写js

<p class="rs-validation">
    <label for="">验证方式</label>
    <form>
        <p class="formemail">
            <input type="radio" checked="checked" name="validation" value="1">
            <span>电子邮箱</span>
        </p>
        <p class="formmobile">
            <input type="radio" name="validation" value="2">
            <span>手机</span>
        </p>
    </form>
</p>

<p class="email-wrap">
    电子邮箱
</p>
<p class="moblie-wrap" style="display:none">
    手机号
</p>
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(6)
PHPz
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="jquery.js"></script>
<script>
    $(function(){
        
        $(".demo-input").each(function(i){
            
            $(this).click(function(){
                $(".demo-p").hide();
                $(".demo-p").eq(i).show();
            });
    
        });
    })
</script>

</head>
<body>
    <p class="rs-validation">
    <label for="">验证方式</label>
    <form>
        <p class="formemail">
            <input type="radio" checked="checked" class="demo-input" name="validation" value="1" >
            <span>电子邮箱</span>
        </p>
        <p class="formmobile">
            <input type="radio" name="validation" class="demo-input" value="2">
            <span>手机</span>
        </p>
    </form>
</p>

    <p class="email-wrap demo-p">
        电子邮箱
    </p>
    <p class="moblie-wrap demo-p" style="display:none">
        手机号
    </p>
</body>
</html>
阿神

赋个ID咯

var radio1 = document.getElementById('radio1');
var radio2 = document.getElementById('radio2');
if(radio1.checked==true){
radio2.style.display="none";
})

etc.
PHP中文网

默认不能checked,用js判断checked属性来控制css的display就行。

怪我咯
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <p class="rs-validation">
        <label for="">验证方式</label>
        <form>
            <p class="formemail">
                <input type="radio" checked="checked" name="validation" value="1">
                <span>电子邮箱</span>
            </p>
            <p class="formmobile">
                <input type="radio" name="validation" value="2">
                <span>手机</span>
            </p>
        </form>
    </p>

    <p class="email-wrap">电子邮箱</p>
    <p class="moblie-wrap" style="display:none">手机号</p>
</body>
    <script>
var r1=document.querySelector(".formemail").firstElementChild;//选择电子邮箱的radio
var r2=document.querySelector(".formmobile").firstElementChild;//选择手机的radio
var d1=document.querySelector(".email-wrap")
var d2=document.querySelector(".moblie-wrap")

// 绑定事件
r1.onclick=function(){
    d1.style.display="block";
    d2.style.display="none";
}
r2.onclick=function(){
    d2.style.display="block";
    d1.style.display="none";
}
</script>
</html>

    //你写错了,是display不是distyle
怪我咯

var d=document;

d.querySelector('.formemail input').onclick= function () {
    if(this.checked) {
        d.querySelector('.moblie-wrap').style.display="none";
        d.querySelector('.email-wrap').style.display="block";
    }
}
d.querySelector('.formmobile input').onclick= function () {
    if(this.checked) {
        d.querySelector('.moblie-wrap').style.display="block";
        d.querySelector('.email-wrap').style.display="none";
    }
}
ringa_lee

用vue简单的价格 v-if 或 v-show 就搞定了

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

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