【问题标题】:How to get custom attribute value in jquery or JS from radio buttons?如何从单选按钮获取 jquery 或 JS 中的自定义属性值?
【发布时间】:2014-05-21 12:11:15
【问题描述】:

我得到了一段 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");

运气不好。你有什么想法如何让它发挥作用吗?谢谢。

【问题讨论】:

  • 如果你想使用.data(),属性必须是data-isprm="true"
  • @TheKolanN:您使用的是哪个 jquery 版本?
  • @JeffShaver:我使用 jQuery 2.1.1

标签: javascript jquery html custom-attributes


【解决方案1】:

首先,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');

【讨论】:

  • 哎呀,错过了损坏的选择器。固定。
  • @TheKolanN 没问题,很乐意提供帮助。
【解决方案2】:

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

使用

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

然后

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

DEMO

【讨论】:

    猜你喜欢
    • 2011-11-26
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    相关资源
    最近更新 更多