首页 > 解决方案 > 检查单选按钮是否具有列表中的值

问题描述

我试图弄清楚是否有一种方法可以在更改时检查单选按钮是否具有列出的值之一。这是我目前拥有的:

var stains = $(".stains-container");
var radio_buttons = $("input[name='tmcp_radio_0']");

var $bmaplechecked      = $("input.oak-stains, input.cherry-stains, input.qswo-stains, input.h-maple-stains, input.hickory-stains");
var $bmapleactive       = $(".oak-stains-div li, .cherry-stains-div li, .qswo-stains-div li, .h-maple-stains-div li, .hickory-stains-div li");
var $bmapleactivehide   = $(".oak-stains-div, .cherry-stains-div, .qswo-stains-div, .h-maple-stains-div, .hickory-stains-div");


var $bmapleval = $( /^Brown Maple_\d$/.test($(this).val()) );
var $wmapleval = $( /^Wormy Maple_\d$/.test($(this).val()) );
radio_buttons.on('change',function(){
    if ($bmapleval, $wmapleval) {
        stains.show();
        $(".b-maple-stains-div").show();
        $bmaplechecked.prop('checked', false);
        $bmapleactive.removeClass( "tc-active" );
    } else {
        $(".b-maple-stains-div").hide();
    }
});

在 if 条件下,我试图让它检查它是否具有列出的变量之一。我已经按原样尝试过,if ($bmapleval || $wmapleval)但没有成功。我对 JQuery 不是最好的,因此非常感谢任何指导。

标签: jqueryradio-buttononchange

解决方案


不要在 jQuery 对象中粘贴布尔值。并且您需要在事件处理程序中评估所选单选的值。

radio_buttons.on('change', function(e) {
  var brownMapleRegExp = /^Brown Maple_\d$/;
  var wormyMapleRegExp = /^Wormy Maple_\d$/;

  if (brownMapleRegExp.test(e.target.value) || wormyMapleRegExp.test(e.target.value)) {
    stains.show();
    $(".b-maple-stains-div").show();
    $bmaplechecked.prop('checked', false);
    $bmapleactive.removeClass("tc-active");
  } else {
    $(".b-maple-stains-div").hide();
  }
});

推荐阅读