【问题标题】:Jquery selecting previous radio button value and not current?Jquery选择以前的单选按钮值而不是当前值?
【发布时间】:2020-02-27 06:04:47
【问题描述】:

我正在尝试获取所选单选按钮的当前值,但它一直在获取上一个按钮而不是当前按钮。您必须双击它才能获得当前按钮。

看了之前的回答,还是不明白,谢谢。

密码笔https://codepen.io/AdamChicago/pen/oNXZypq

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>D</title>

  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>

  <button class="btn btn-dark" type="button" data-toggle="collapse" data-target="#collapseExample3" aria-expanded="false" aria-controls="collapseExample">
    BUTTON
  </button>
  <div class="collapse" id="collapseExample3">
    <div class="card card-body" style="background-color: rgb(65, 72, 78); border: none">
      <div id="SortBTNS" class="btn-group btn-group-toggle" data-toggle="buttons">
        <label class="btn btn-outline-info">
          <input type="radio" name="options" id="SortPopular" value = "MostPopular" autocomplete="off"> Most Popular
        </label>
        <label class="btn btn-outline-info">
          <input type="radio" name="options" id="SortTop" value = "TopRated" autocomplete="off"> Top Rated
        </label>
        <label class="btn btn-outline-info">
          <input type="radio" name="options" id="SortTrending" value = "Trending" autocomplete="off"> Trending
        </label>
        <label class="btn btn-outline-info active">
          <input type="radio" name="options" id="SortAZ" value = "A-Z" autocomplete="off" chedcked> A - Z
        </label>
      </div>
    </div>
  </div>
</body>
<script>
  $('#SortBTNS').on('click', function() {
    console.log($('#SortBTNS label.active input').val())
  })
</script>
</html>

【问题讨论】:

    标签: javascript jquery radio-button


    【解决方案1】:

    改用此代码

    <!DOCTYPE html>
    <html lang="en">
       <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <meta http-equiv="X-UA-Compatible" content="ie=edge">
          <title>D</title>
          <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
          <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
       </head>
       <body>
          <button class="btn btn-dark" type="button" data-toggle="collapse" data-target="#collapseExample3" aria-expanded="false" aria-controls="collapseExample">
          <i class="fas fa-sort"></i>
          </button>
          <div class="collapse" id="collapseExample3">
             <div class="card card-body" style="background-color: rgb(65, 72, 78); border: none">
                <div id="SortBTNS" class="btn-group btn-group-toggle" data-toggle="buttons">
                   <label class="btn btn-outline-info">
                   <input type="radio" name="options" id="SortPopular" value = "MostPopular" autocomplete="off"> Most Popular
                   </label>
                   <label class="btn btn-outline-info">
                   <input type="radio" name="options" id="SortTop" value = "TopRated" autocomplete="off"> Top Rated
                   </label>
                   <label class="btn btn-outline-info">
                   <input type="radio" name="options" id="SortTrending" value = "Trending" autocomplete="off"> Trending
                   </label>
                   <label class="btn btn-outline-info active">
                   <input type="radio" name="options" id="SortAZ" value = "A-Z" autocomplete="off" chedcked> A - Z
                   </label>
                </div>
             </div>
          </div>
       </body>
       <script>
          $('#SortBTNS').on('click', function(e) {
            console.log(e.target.children[0].value)
          
          })
       </script>
    </html>

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 2012-10-13
      • 1970-01-01
      • 2017-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多