我似乎无法理解这段代码的错误: 它实质上是将一个值加入到无线电输入中,如果无线电有该值则打开一个div。
$(document).on("click","input[name=newBillingAddress]:radio",function(){
$("input:radio[name=newBillingAddress]:checked").val('checked');
$("input:radio[name=newBillingAddress]:not(:checked)").val('unchecked');
}
if($('#existingBillingRadio').val('checked')){
$('.toggleBlock').slideDown();
});
答案 0 :(得分:0)
if($('#existingBillingRadio').val('checked')){ $(this).parent().find('.toggleBlock').first().slideDown(); });
上述条件始终为true,并且只会在页面加载时运行一次。
答案 1 :(得分:0)
要检查if语句中的值,您必须比较它
$(document).on("click", "input[name=newBillingAddress]:radio", function(){
$("input:radio[name=newBillingAddress]:checked").val('checked');
$("input:radio[name=newBillingAddress]:not(:checked)").val('unchecked');
// removed extra }
if($('#existingBillingRadio').val() === 'checked'){
$(this).parent().find('.toggleBlock').first().slideDown();
}
});
不太清楚您真正想要的是什么,但单选按钮具有 已检查属性 ,而不是值。所以你应该检查的是
$(document).on("click", "input[name=newBillingAddress]:radio", function(){
// $("input:radio[name=newBillingAddress]:checked").prop('checked', true);
// $("input:radio[name=newBillingAddress]:not(:checked)").prop('checked', false);
// the above lines don't make sense in this case anymore.
// removed extra }
if($('#existingBillingRadio').is(':checked')){
$(this).parent().find('.toggleBlock').first().slideDown();
}
});
答案 2 :(得分:-1)
您正在条件内进行分配,您必须这样做:
if($('#existingBillingRadio').val() == 'checked')
虽然我只会检查已检查的属性,并删除之前的val赋值:
if($('#existingBillingRadio')is(":checked") {
$(this).parent().find('.toggleBlock').first().slideDown();
}