使用jquery通过id获取单选按钮的值[重复]

Posted

技术标签:

【中文标题】使用jquery通过id获取单选按钮的值[重复]【英文标题】:Getting value of radio button by id using jquery [duplicate] 【发布时间】:2021-05-02 03:30:32 【问题描述】:

我对 jQuery 有点陌生,所以遇到了一些麻烦。如何编码以通过其 id 获取单选按钮的值?从任何其他类似问题提出的解决方案让我感到困惑。以下是代码:

$(document).on("click", "#Update", function() 
  let id = $(this).data('id');
  let tank_name = $(this).data('tank_name');
  let title = $(this).data('title');
  let tank_maintain = $(this).data('tank_maintain');
  let work_status = $(this).data('work_status');

  $("#t_maintenanceID").val(id);
  $("#tank_name").val(tank_name);
  $("#title_maintenance").val(title);
  $("#tank_maintain").val(tank_maintain);
  $("work_status:checked").val(work_status);

);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<fieldset class="form-group">
  <div class="row">
    <label class="col-form-label col-sm-2 pt-0">Priority:</label>
    <div class="col-sm-10">
      <div class="form-check">
        <input class="form-check-input" type="radio" name="work_status" id="work_status" value="High">
        <label class="form-check-label" for="work_status">
                  High
                </label>
      </div>
      <div class="form-check">
        <input class="form-check-input" type="radio" name="work_status" id="work_status" value="Medium">
        <label class="form-check-label" for="work_status">
                  Medium
                </label>
      </div>
      <div class="form-check">
        <input class="form-check-input" type="radio" name="work_status" id="work_status" value="Low">
        <label class="form-check-label" for="work_status">
                  Low
                </label>
      </div>
    </div>
  </div>
</fieldset>

【问题讨论】:

ID 必须是唯一的 阅读第一段developer.mozilla.org/en-US/docs/Web/html/Global_attributes/id 还有:***.com/questions/9454645/… 【参考方案1】:

您不应使用重复的元素 ID。 HTML 属性 id 是唯一值。

$('input[name=work_status]:checked').val() 会帮助你。

【讨论】:

【参考方案2】:

用途:

 $('input[name=work_status]:checked').val()

请注意,所有单选按钮都使用相同的 id,每个 dom 元素的 id 必须是唯一的。

【讨论】:

【参考方案3】:

ID 必须是唯一的

您可以使用名称并包装标签(请参阅我对 HTML 所做的更改)

如果您需要在另一个事件中获取选中的值而不是单击收音机本身,请使用

$("[name=work_status]:checked").val()

这样

$(function() 
  $(document).on("click", "[name=work_status]", function() 
    let id = $(this).val()
    console.log(id)
  );
  $("#Update").on("click", function() 
    const workStatus = $("[name=work_status]:checked").val();
    console.log(workStatus)
  )
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<fieldset class="form-group">
  <div class="row">
    <label class="col-form-label col-sm-2 pt-0">Priority:</label>
    <div class="col-sm-10">
      <div class="form-check">
        <label class="form-check-label">
          <input class="form-check-input" type="radio" name="work_status"  value="High"> High
        </label>
      </div>
      <div class="form-check">
        <label class="form-check-label">
          <input class="form-check-input" type="radio" name="work_status"  value="Medium"> Medium
        </label>
      </div>
      <div class="form-check">
        <label class="form-check-label">
          <input class="form-check-input" type="radio" name="work_status" value="Low"> Low
        </label>
      </div>
    </div>
  </div>
  <button id="Update" type="button">Click</button>
</fieldset>

【讨论】:

【参考方案4】:

首先,确保每个元素都有一个唯一的 id,这将允许您专门定位您想要的元素。

那么你可以使用这个: $("input[name=work_status]:checked").val()

【讨论】:

以上是关于使用jquery通过id获取单选按钮的值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

我如何知道通过 jQuery 选择了哪个单选按钮?

我如何知道通过 jQuery 选择了哪个单选按钮?

获取单选按钮组的值

jQuery如何获取选中单选按钮radio的值

jQuery 获取单选按钮radio 已选中的值

如何更改单选按钮值[重复]