如何从单选按钮获取jquery或JS中的自定义属性值?

时间:2014-05-21 12:11:16

标签: javascript jquery html custom-attributes

我有一段HTML:

<input type="radio" name="radioBtn" onChange="rdbtn()" value="100" isprm="true">
<input type="radio" name="radioBtn" onChange="rdbtn()" value="110" isprm="true">

我希望将自定义属性值传递给变量。以下是我尝试过但不起作用的内容:

function rdbtn(){
   var radioVal = $(this).val();
   var radioPRM = $("input[id=radioVal]:checked").attr('isprm');
   ...
}

$('input[id=radioVal]').data("isprm");

没有运气。你有任何想法如何让它工作?感谢。

2 个答案:

答案 0 :(得分:5)

首先,isprm不是有效属性,因此您的HTML无效。如果需要使用元素存储辅助数据,请使用data-*属性:

<input type="radio" name="radioBtn" onChange="rdbtn()" value="100" data-isprm="true">
<input type="radio" name="radioBtn" onChange="rdbtn()" value="110" data-isprm="true">

然后,您可以使用data()来检索值:

var radioPRM = $('input[name="radioBtn"]:checked').data('isprm');

答案 1 :(得分:1)

您需要在data-前加上自定义属性,才能使用.data()。此外,您在使用属性值选择器时必须使用name,因为您尚未指定id无线电选项并使用您指定的名称,即radioBtn

使用

<input type="radio" name="radioBtn" onChange="rdbtn()" value="110" data-isprm="true">

然后

$('input[name=radioBtn]').data("isprm");

DEMO