我有一段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");
没有运气。你有任何想法如何让它工作?感谢。
答案 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");