我有一个广播组,我需要根据所选广播的值进行一些数学计算,但我还需要一种方法来了解它所代表的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
答案 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')