代码:
<input type="radio" value="x" name="a" />One<br />
<input type="radio" value="y" name="b" />Two<br />
....
我上面有很多radio
个按钮。
单击radio
后如何获取文本字符串?
编辑HTML是不可能的
答案 0 :(得分:3)
您可以使用jQuery从中获取nextSibling数据,因为该文本不是当前输入标记的一部分,并且不包含在任何标记中。
jQuery的:
$(document).ready(function() {
$("input[type=radio]").click(function(e) {
var radioText = e.currentTarget.nextSibling.data
alert(radioText);
});
});
编辑: 对于另一个编辑来说还有点晚,但你可以使用标签或将文本包装在p或span标签中,以便更容易使用jQuery进行定位
<input type="radio" value="x" name="a" /><span>One</span><br />
<input type="radio" value="y" name="b" /><span>Two</span><br />
(function(){
var inputs = $('input[type=radio]');
inputs.each(function(i, elm){
console.log($(elm).next().html());
})
})();
您将在日志中看到span元素的文本。 (在控制台中)
答案 1 :(得分:1)
这应该有效:
var radioButtonNames = ["a", "b"]; // Add the names of your other radio buttons
for (var i = 0; i < radioButtonNames.length; i++) {
document.getElementById(radioButtonNames[i]).onclick = function(){
var result = this.nextSibling.data;
alert(result);
}
}
答案 2 :(得分:0)
该文本属于<body>
标记或其最近的父标记。我将文本包装在<span>
中,然后在单选按钮的点击事件处理程序中执行$(this).next('span').text()
。
答案 3 :(得分:0)
var radioLength = radioObj.length;
if(radioLength == undefined)
if(radioObj.checked)
return radioObj.value;
else
return "";
for(var i = 0; i < radioLength; i++) {
if(radioObj[i].checked) {
return radioObj[i].value;
}
}
这将获取无线电对象的值,然后您可以使用上一个答案将响应拉入一个或div
答案 4 :(得分:0)
请使用object.innerHTML
或object.innerText
方法
在你的情况下,JS就像。
var text = $('a').innerHTML;