【问题标题】:Can not validate the radio button field using JavaScript/jQuery无法使用 JavaScript/jQuery 验证单选按钮字段
【发布时间】:2018-09-07 04:11:35
【问题描述】:

我需要使用 Javascript/Jquery 检查单选按钮输入字段是否被选中。实际上,我正在动态设置单选按钮字段,但是在检查该字段是否被选中时,它向我显示了真正选中的结果为 false 。我的代码如下。

<input type="radio" name="answer_type0" id="answer_type0" onClick="selectScale(this.value,'0');" value="<?php echo $v['_id']; ?>"> <?php echo $v['answertype'];  ?>

我的 javascript 代码如下。

$('#answer_type0[value="' + qdata[0].answer_type + '"]').prop('checked', true).trigger('click');    
console.log('check',document.getElementById('answer_type0').checked);

在这里,我的收音机输入字段似乎在 UI 页面上被选中,但是当我检查 console.log 消息时,它显示为假。在这里,如果选中单选按钮字段,我需要它应该使消息为 true,但它不会像那样发生。

【问题讨论】:

  • 请包含 渲染的 html,而不仅仅是 php 版本。
  • 你能设置一个 jsfiddle.net 来显示问题吗?

标签: javascript jquery


【解决方案1】:

尝试像这样检查。

if($('#answer_type0').is(':checked')){
   console.log("true");
}else{
   console.log("false");
}

【讨论】:

  • 其实我的问题是单选按钮被选中但显示为假。
  • 您是否尝试使用我的答案来检查它是否为假?
  • 我这样做了console.log('check',$('#answer_type0').is(':checked'));,但它给出的结果是错误的,但实际上单选按钮已被选中。
  • 我按照你做的,得到了​​我上面解释的结果。
【解决方案2】:

您可以通过以下方法进行检查

 if ($("#answer_type0").prop("checked")) {
          alert("checked");
        }
      else
      {
      alert ("not checked");
      }

        // OR
        if ($("#answer_type0").is(":checked")) {
           alert("checked");
        }
       else
       {
       alert ("not checked");
       }

【讨论】:

  • 这不是解决方案。这里我的单选按钮字段被选中,但它显示为假。
  • 那么问题出在 $('#answer_type0[value="' + qdata[0].answer_type + '"]') 检查复选框值是否与 html 中的值相同,这就是为什么它返回错误
  • 那么解决方案是什么。
猜你喜欢
  • 2016-12-08
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多