我正在使用此代码检查条件。
jQuery(document).ready(function($){
$('#uitkering_funds').hide();
$('#uitkering_funds_hoofd').hide();
$('#partner_uitkering').hide();
$('#partner_uitkering_funds').hide();
$("input[name=alleenstande],input[name=uitkering],input[name=partner_uitkering]").bind('change', function() {
if ($("input[name=alleenstande]:checked").val() == 1 && $('input[name=uitkering]:checked').val() == 1) {
$("#uitkering_funds_hoofd").fadeIn(200);
$("#partner_uitkering").hide();
$('#partner_uitkering_funds').hide();
}
else if ($("input[name=alleenstande]:checked").val() == 0 && $('input[name=uitkering]:checked').val() == 1) {
$("#uitkering_funds_hoofd").fadeIn(200);
$("#partner_uitkering").hide();
$('#partner_uitkering_funds').hide();
}
else if ($("input[name=alleenstande]:checked").val() == 0 && $('input[name=uitkering]:checked').val() == 0) {
$("#uitkering_funds_hoofd").hide();
$("#partner_uitkering").fadeIn(200);
}
else if ($("input[name=alleenstande]:checked").val() == 0 && $('input[name=uitkering]:checked').val() == 0 && $('input[name=partner_uitkering]:checked').val() == 1) {
$("#uitkering_funds_hoofd").hide();
$("#partner_uitkering_funds").fadeIn(200);
alert('2');
}
else {
$('#uitkering_funds').hide();
$('#uitkering_funds_hoofd').hide();
$('#partner_uitkering').hide();
$('#partner_uitkering_funds').hide();
}
});
});
在三个条件下都可以正常工作,但是停止处理此语句。
else if ($("input[name=alleenstande]:checked").val() == 0 && $('input[name=uitkering]:checked').val() == 0 && $('input[name=partner_uitkering]:checked').val() == 1) {
$("#uitkering_funds_hoofd").hide();
$("#partner_uitkering_funds").fadeIn(200);
alert('2');
}
我在这里做错什么了吗?能帮我这个代码如何在所有条件下工作吗?
谢谢。
答案 0 :(得分:0)
$('input [name = partner_uitkering]:checked')。val()== 1
您确定输入名称“ partner_uitkering”的值是1吗?
在编写条件语句时,您实际上应该考虑所有这三个值。
答案 1 :(得分:0)
您的最后一个else if
永远不会进行评估,因为它以与前一个else if
相同的条件开始。也许考虑使用switch case
语句,或者按照@spgk的建议,检查每个if
条件的所有输入的状态。
https://www.w3schools.com/js/js_if_else.asp
https://www.w3schools.com/js/js_switch.asp
其他一些想法:
不确定使用的是哪个版本的jQuery,但是
自jQuery 3.0起,.bind()已被弃用。它已由.on()取代
https://api.jquery.com/bind/
此外,无需检查:checked
伪类,并希望强制和松散的等效项不会产生怪异的事情,对于jQuery,您可以仅使用.prop('checked')