单选按钮ID值

时间:2011-11-23 00:45:10

标签: jquery

我有一个广播组,我需要根据所选广播的值进行一些数学计算,但我还需要一种方法来了解它所代表的SQL记录的身份值。通常我会将其存储在单选按钮的“value”属性中。

我在这里尝试做的是同一个班级有不同的ID,我想弄清楚如何确定分配的ID

<input type="radio" class="price" name="price" value="20.00" checked="true" id="1" />
<input type="radio" class="price" name="price" value="385.00" id="2" />
<input type="radio" class="price" name="price" value="504.00" id="3" />

$('.price').change(function() {
calculate();
});

function calculate () {
    var q = $('input#quantity').val();
    var p = $("input[name=price]:checked").val();
    var tot = ((q*p)+parseInt(s));
    $('input#total').val(tot);
};

所以在calculate()函数中,我得到了值但是如何才能获得单选按钮的ID?也许这是倒退的,有更好的方法来获得数学计算部分的美元价值,我对任何建议持开放态度。

TIA - Dan

2 个答案:

答案 0 :(得分:3)

因此,您现在拥有HTML的方式可以使用:

var id = $("input[name=price]:checked").attr('id');

<强> BUT!

{DOM}保留id属性,除此之外,不能不应以数字开头。我建议改用jQuery.data()。只需将data-添加到您拥有的id属性的前面:

<input type="radio" class="price" name="price" value="385.00" data-id="2" />

然后使用以下内容检索data-id属性:

var id = $("input[name=price]:checked").data('id');

答案 1 :(得分:0)

您可以使用elem.attr('id'),但是您应该小心滥用id这样的属性;从理论上讲,它们必须是独一无二的,must start with a letter

如果要将任意数据附加到元素,可以使用data attributes。例如:

<input type="radio" class="price" name="price" value="20.00" checked="true" data-id="1" />

然后你得到了价值:

elem.data('id')