简体   繁体   English

如何获取jQuery中最后选择的单选按钮ID?

[英]How to get the last selected radio button id in jQuery?

I want to get the id of the last selected radio button value for passing to the database. 我想获取最后选择的单选按钮值的ID,以传递给数据库。 The radio buttons are working properly. 单选按钮正常工作。 But unable to get the id of the last selected radio button. 但是无法获取最后选择的单选按钮的ID。

Here is my HTML code. 这是我的HTML代码。

$jsqla = mysql_query("select * from products where id='$product_id'") or die(mysql_error());
$jfeta = mysql_fetch_assoc($jsqla);

$formats = explode(";", $jfeta['formats']);

<div class="">
    <?php foreach($formats as $v){ ?>
        <label style="line-height: 1.25em;display: block;width: 100px;margin-right: 10px;float: left;">                         
            <div id="format-id_<?php echo $v?>" style="border: 1px solid;border-radius: 9px;text-align: center;padding-top: 10px;padding-bottom:10px;padding-left: 3px;padding-right: 3px;border-color: #cccccc;font-family: 'SSemibold'; font-size: 13px; color: #44b7da;">                                
                <input type="radio" value="<?php echo $v; ?>" name="abc" style="visibility:hidden;" id="<?php echo $v ?>" onClick="changeColour(this)"/>
                <span style="margin:-17px auto auto 0px;display:block;"><?php echo $v; ?></span>                            
            </div>                      
        </label>
    <?php } ?>      
</div>

Here is my jQuery code. 这是我的jQuery代码。

$(document).ready(function(e) {
    var $radios = $(':radio'); 
    $divs = $radios.parent(); 
    var cvbl = "";

    $radios.bind('change', function() {
      var $this = $(this),
      $div = $this.parent();
      $div.css('background-color', this.checked ? '#cccccc' : '#ffffff');
      $divs.not($div).css('background-color', '#ffffff');

      var value = $(this).val();
      cvbl = value;
      alert(cvbl);
      alert($('.someClass:last') );
    });

 });

Replace your script with the below one 将脚本替换为以下脚本

$(document).ready(function(e) {
    var $radios = $(':radio');
    $divs = $radios.parent();
    var cvbl = "",
        radioId = "";

    $radios.bind('change', function() {
        var $this = $(this),
            $div = $this.parent();
        $div.css('background-color', this.checked ? '#cccccc' : '#ffffff');
        $divs.not($div).css('background-color', '#ffffff');

        var value = $(this).val();
        cvbl = value;
        radioId = $(this).attr('id');
        alert(radioId);
        alert(cvbl);
        alert($('.someClass:last'));
    });

});

Use the variable radioId wherever you want it will always give you the id of the last selected radio button. 在任何需要的地方使用变量radioId ,它将始终为您提供最后选择的单选按钮的ID。

You can try below code : 您可以尝试以下代码:

if ($('input[name$="your radio button name"]:last').is(':checked')) {
    alert('the last radio');
    return false;

} }

If you don't have radio buttons name then try below 如果您没有单选按钮名称,请尝试以下操作

 if ($('input[type="radio"]:last').is(':checked')) {
    alert('the last radio');
    return false;

} }

This Worked for me... 这对我有用...

$(".clsRadio").on("mousedown", function () {                  
var LastSelectedRadioButton = $('input[type=radio]:checked').attr('id');    
});

clsRadio is a class of my radio button group. clsRadio是我的单选按钮组的一类。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM