我必须使用jquery在Html页面中显示行值,但没有找到任何解决方案。
`
<HTML>
<head>
<title>My Java Program</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<table id="myTable" border="2">
<tr><td>hello</td><td>gaurav</td><td>Present<input type="radio" value="present" name="rad0>">
Absent<input type="radio" value="absent" name="rad0"/></td></tr>
<tr><td>hello</td><td>gaurav</td><td>Present<input type="radio" value="present" name="rad1>">
Absent<input type="radio" value="absent" name="rad1"/></td></tr>
<tr><td>hello</td><td>gaurav</td><td>Present<input type="radio" value="present" name="rad2>">
Absent<input type="radio" value="absent" name="rad2"/></td></tr>
<tr><td>hello</td><td>gaurav</td><td>Present<input type="radio" value="present" name="rad3>">
Absent<input type="radio" value="absent" name="rad3"/></td></tr>
</table>
<br>
<button id="mark" onclick="mark">Mark</button>
<p id="out">-----</p>
<script>
$(document).ready(function (){
$("#mark").on("click",function(){
var vals="";
$('#myTable tr').each(function(){
vals+=$(this).find('td:eq(0)').text()+",";
vals+=$(this).find('td:eq(1)').text()+",";
var checked = $(this).find('input:radio:checked').val();
vals+=checked;
});
$('#out').html(vals);
});
});
</script>
</body>
</html>
我的输出是
您好,拉夫,undefinedhello,拉夫,undefinedhello,拉夫,undefinedhello,拉夫,未定义
我不知道我哪里错了?
答案 0 :(得分:0)
您需要为单选按钮指定相同的名称,并确保选中它们(未定义的输出是因为没有选中任何单选按钮)。
var vals="";
$('#myTable tr').each(function(){
vals+=$(this).find('td:eq(0)').text()+",";
vals+=$(this).find('td:eq(1)').text()+",";
var checked = $(this).find('input:radio:checked').val();
if(checked)
vals+=checked + "<br />";
else
vals+="not checked <br />";
});
请参阅我的例子:https://jsfiddle.net/go7jpp9n/1/