我有很多像这样的输入字段
<input type="radio" name="name" id="name" onchange="enableTxt()" />
当我点击此单选按钮时,我想捕获无线电输入的ID。我使用以下代码
function enableTxt() {
var id = $(this).attr("id");
alert(id);
}
收到此错误
a.attributes is undefined
答案 0 :(得分:39)
HTML:
<input type="radio" name="name" id="name" onchange="enableTxt(this)" />
JS:
function enableTxt(elem) {
var id = $(elem).attr("id");
alert(id);
}
答案 1 :(得分:6)
html
<button class="destroy" id="123">
jQuery
$('button.destroy').on('click', function(e){
e.preventDefault();
console.log(this.id);
答案 2 :(得分:3)
您只能传递HTML中的ID
<input type="radio" name="name" id="name" onchange="enableTxt($(this).attr('id'))" />
function enableTxt(id)
{
alert(id);
}
答案 3 :(得分:2)
将此传递给函数
enableTxt(this)
function enableTxt(item) {
var id = $(item).attr("id");
alert(id);
}
答案 4 :(得分:2)
试试这个
alert($("input:radio").attr('id'));
答案 5 :(得分:0)
另一个选择是使用JQ
$("#name").on('onchange',enableText);
这样你的对象将是当前 this
答案 6 :(得分:0)
此视频可能会有所帮助:- https://youtu.be/gO286Isc5FM
我正在尝试使用 $(this).attr(id)
但是返回的是 undefined error
但是使用这种方法(在视频中)有效
我的用例:
<h1 id = "Autogenerated" Onclick="print(this)">AutoGeneratedlistItems<h1>"
function print(listItem){console.log(listItem.id) }
输出 Clicked
元素的 id