我有一段在Jquery 1.7.2中有效的代码,但它似乎在1.9.1中不起作用。
现在我很好奇发生了什么变化。
任何人都可以帮助我吗?
$(document).ready(function () {
$("#ikga-akkoord").hide();
$("#verzekeringen").click(function () {
if ($("#verzekeringen").attr('checked')) {
$("#ikga-akkoord").fadeIn();
}
});
});
答案 0 :(得分:2)
见:
$(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。