Sudda Sudda - 18 days ago 7
HTML Question

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. The radio buttons are working properly. But unable to get the id of the last selected radio button.

Here is my HTML code.

$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.

$(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') );
});

});

Answer

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.

Comments