选中单选按钮后,复选框会淡入

时间:2013-03-15 08:37:45

标签: jquery checkbox hidden fade

我有一段在Jquery 1.7.2中有效的代码,但它似乎在1.9.1中不起作用。

现在我很好奇发生了什么变化。

任何人都可以帮助我吗?

http://jsfiddle.net/an9dV/

$(document).ready(function () {
$("#ikga-akkoord").hide();
$("#verzekeringen").click(function () {
    if ($("#verzekeringen").attr('checked')) {
        $("#ikga-akkoord").fadeIn();
    }


});

});

2 个答案:

答案 0 :(得分:2)

见:

http://jsfiddle.net/an9dV/6/

$(document).ready(function () {
$("#ikga-akkoord").hide();
    $(".verzekeringen").on('click', function () {

        if ($(this).is(':checked')) {
            $("#ikga-akkoord").fadeIn();
        }
    });
});

您不能在同一页面上拥有多个ID,这就是我将ID更改为类的原因。

<div class="kiesbundelblokken">
<div id="belsms">
    <p>Verzekeringen</p>
    <div class="radiobuttonsverzekeringen">
        <label>
            <input class="verzekeringen" type="radio" name="verzekeringen" value="normaal"
            />ACE Toestelverzekering</label>
        <label>
            <input class="verzekeringen" type="radio" name="verzekeringen" value="plus"
            />ACE Toestelverzekering Plus</label>
        <label id="ikga-akkoord">
            <input id="akkoordvoorwaarden" type="checkbox" name="akkoordvoorwaarden"
            value="akkoordvoorwaarden" />Ik ga akkoord met deze voorwaarden</label>
    </div>
</div>

修改

基于@soyuka commment,我将attr('checked')更改为.is(':checked')。一种更好,更清洁的方法。如果未检查某些内容,.attr('checked')将返回undefined,因此无效。

答案 1 :(得分:1)

您应该使用is代替attr

$("#verzekeringen").click(function () {
    if ($("#verzekeringen").is(':checked')) {
        $("#ikga-akkoord").fadeIn();
    }


});

查看更新后的fiddle