javascript - 一个id 绑定click事件 做不同的条件判断?
迷茫
迷茫 2017-04-10 16:57:15
[JavaScript讨论组]

js代码:

 //弹窗注册协议
    ms=window.parent.document.getElementById('inputzz1');
    ks=window.parent.document.getElementById('inputzz');
    $('#yes-agree').click(function(){
        console.log(ms);
        if(!(ms.getAttribute('checked'))){
            console.log(123);
            $("#inputzz1").attr("checked",true);
            $("#check-do1").addClass("check-do-on");
            $("button[title='注册']").removeAttr("disabled","disabled").css("background-color","#E4393C");//启用提交按钮
            console.log(1234);
        }
        if(!(ks.getAttribute('checked'))){
            $("#inputzz").attr("checked",true);
            $("#check-do").addClass("check-do-on");
            $(".pt-mid").css({"background-position":"-57px -303px"},
                    {"width":"175px"},{"height":"33px"});
            $("#btnrdz").removeAttr('disabled','disabled');//禁用提交按钮
        }
        $('.sc-model').fadeOut().html("");
        $('.sc-zzc-bg').fadeOut();
    });

    $('#no-agree').click(function(){
        if(ms.getAttribute('checked')){
            console.log(123);
            $("#inputzz1").attr("checked",false);
            $("#check-do1").removeClass("check-do-on");
            $("button[title='注册']").attr('disabled','disabled').css("background-color","#ccc");//禁用提交按钮
        }
        if(ks.getAttribute('checked')){
            $("#inputzz").attr("checked",false);
            $("#check-do").removeClass("check-do-on");
            $(".pt-mid").css({"background-position":"-610px -583px"},
                    {"width":"175px"},{"height":"33px"});
            $("#btnrdz").attr('disabled','disabled');//禁用提交按钮
        }
        $('.sc-model').fadeOut().html("");
        $('.sc-zzc-bg').fadeOut();
    });

触发事件html片段:

<span class="agree">
      <b>&lt;我已阅读国广相关手册&gt;</b>
</span>
    

注册协议html:

<p class="Msoagree">
    <span>
        <a class="no-agree" id="no-agree"><i></i>不同意</a>
        <a class="yes-agree" id="yes-agree"><i></i>同&nbsp;意</a>
    </span>
</p>
    

问题补充: 注册协议这个弹窗html是放在外部的,并且页面两处地方点击<我已阅读国广相关手册>弹出的是同一个外部的html.
现在点击同意或者不同意控制的是两个form表单中的样式。

需求: 分别点击同意或者不同意这两个id时,能否让js只修改相应的form表单内的样式??

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
PHP中文网

很简单的东西,写这么复杂

$('#yes-agree').on('click', function(){
    // 这里判断浮层是否显示,假设$(xxx)是你的浮层
    if($(xxx).is(':visible')){
        // 浮层显示,修改浮层内样式
        $('#inputzz1').prop('checked', true);
        $("#check-do1").addClass("check-do-on");
        $("button[title='注册']").prop('disabled', false);
    } else {
        // 浮层隐藏,修改页面内样式
        $("#inputzz").prop("checked",true);
        $("#check-do").addClass("check-do-on");
        $("btnrdz").prop('disabled', false);
    }
    $('.sc-model').fadeOut().html("");
    $('.sc-zzc-bg').fadeOut();
});
大家讲道理

谢谢,你的提示,代码是精简了好多,不过我换了种方式去做了,通过改变id的名称去做click事件的绑定,这样两个form的动作就不会冲突了。

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

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