jquery - 通过 jQuery 获取单选按钮选择的未定义

标签 jquery html

我试图从用户选择的三个单选按钮之一中获取值。到目前为止,我的值返回未定义,我不清楚为什么。

这是我的 HTML:

<div class="tab-pane fade in active" id="step1">
  <div class="well">
    <label>Repetition Interval</label>
    <div class="form-check">
      <input type="radio" class="form-check-input" name="daily">
      <label class="form-check-label time-interval" for="materialUnchecked">Daily</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" name="weekly">
      <label class="form-check-label time-interval" for="materialUnchecked">Weekly</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" name="monthly">
      <label class="form-check-label time-interval" for="materialUnchecked">Monthly</label>
    </div>
  </div>
</div>

这是我用来 try catch 值的 jQuery:

$("#step1").change(function () {
  const intervalValue = $("input[class='time-interval']:checked").val();
  console.log('intervalValue: ', intervalValue);
});

现在,当选择 HTML block 中的单选按钮时,该函数会触发,但是,正如我所说,该值是未定义。我在这里缺少什么?

最佳答案

您可以像这样重写事件:

$("[type=radio]").change(function () {
  const intervalValue = this.value;
  console.log('intervalValue: ', intervalValue);
  console.log('name:', this.name);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="tab-pane fade in active" id="step1">
  <div class="well">
    <label>Repetition Interval</label>
    <div class="form-check">
      <input type="radio" class="form-check-input" name="daily">
      <label class="form-check-label time-interval" for="materialUnchecked">Daily</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input" name="weekly">
      <label class="form-check-label time-interval" for="materialUnchecked">Weekly</label>
    </div>
    <div class="form-check">
      <input type="radio" class="form-check-input interval" name="monthly">
      <label class="form-check-label time-interval" for="materialUnchecked">Monthly</label>
    </div>
  </div>
</div>

$("#step1").change(...) :您正在尝试捕捉事件onchange关于<div> 。所以您可能想将其更改为 <input>相反。

关于jquery - 通过 jQuery 获取单选按钮选择的未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59545140/

相关文章:

html - CSS:在列表项中并排显示图像和 div

jquery - 登录字段在语义 ui 中的模态内部未正确对齐

javascript - html datalist for contenteditable(非输入标签)

javascript - 如何在不重新加载页面的情况下对数据进行分页?

Javascript:如何制作仅在特定日期和时间触发的事件?

javascript - Morris.js 未捕获类型错误 : Cannot read property 'match' of undefined

javascript - 从 Jquery JSON 请求推送到 Javascript 数组

css - 如何在一页网站中居中放置两个 div?

javascript - 使用键盘选择 HTML SELECT 列表中的项目不会触发 CLICK 事件

javascript - 如何将 "Tue Nov 26 2019 16:00:00 GMT-0800"转换为 .net json 日期格式 "\/Date(1574812800000)\/"格式?