1

我有一段代码可以在 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();
    }


});

});

4

2 回答 2

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 评论,我将 attr('checked') 更改为 .is(':checked')。一种更好更清洁的方法。.attr('checked') 如果未检查某些内容,将返回 undefined,因此这是无效的。

于 2013-03-15T08:45:58.320 回答
1

你应该使用is而不是你的attr

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


});

查看您更新的小提琴

于 2013-03-15T08:45:14.263 回答