首页 > 解决方案 > 为什么jQuery将单选按钮的值返回为“ON”?如何纠正它?

问题描述

我不是绝对的新手,但不知何故,一个小时以来它就抓住了我。你能帮我找出我在下一篇文章中犯错的地方吗?我正在尝试返回“已选中/已选择”单选选项的值,并且每次都返回“打开”。

我的(引导)HTML 代码:

<div class="form-row mb-4 p-2 text-center font-weight-bold rounded-top shadow-sm-dark no-shadow-hover bl__home_apr-choice">
    <div class="col-4 offset-2 col-md-3 offset-md-0 mb-md-0 mb-1">
      <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" id="searchByProject" name="searchBy" class="custom-control-input" checked="checked">
        <label class="custom-control-label" for="searchByProject" value="Project" pointer>by Project</label>
      </div>
    </div>
    <div class="col-4 col-md-3 offset-md-0 mb-md-0 mb-1">
      <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" id="searchByInvoiceID" name="searchBy" class="custom-control-input">
        <label class="custom-control-label" for="searchByInvoiceID" value="Invoice" pointer>by Invoice</label>
      </div>
    </div>
    <div class="col-4 offset-2 col-md-3 offset-md-0 mb-md-0">
      <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" id="searchByStartDate" name="searchBy" class="custom-control-input">
        <label class="custom-control-label" for="searchByStartDate" value="Started" pointer>by Start Date</label>
      </div>
    </div>
    <div class="col-4 col-md-3 offset-md-0 mb-md-0">
      <div class="custom-control custom-radio custom-control-inline">
        <input type="radio" id="searchByEndDate" name="searchBy" class="custom-control-input">
        <label class="custom-control-label" for="searchByEndDate" value="Ended" pointer>by End Date</label>
      </div>
    </div>
  </div>

这就是我使用 jQuery 的方式:

console.log($('input[name=searchBy]:checked').val()); 

任何帮助将不胜感激。提前致谢。

标签: htmljqueryreturnradio

解决方案


你应该valueinput标签中设置,你在label.


你的收音机应该是这样的:
<input type="radio" id="searchByEndDate" name="searchBy" value="Ended" checked>

推荐阅读