Radio-Group的价值只显示第一个字。 (用jquery)

时间:2014-01-07 00:39:10

标签: javascript html jsp

我有这个JSP文件,它构建了一个全名候选人的广播组:

<h3>Select Candidate from the list: </h3>
    <%
    for(String a: candFullNames.getCand().keySet()){
        %>
    <input  type="radio" name="group1" value=<%=a%>><%=a %>
    <br>
    <%
}
%>
在民意调查中,一切看起来都不错,我看到了全名。 但我想提醒每个更改事件中选择的全名。所以我做了这个JS代码:

$(function() {
    $('input[type=radio]').change(function(e) {
        alert(this.value);
      });
});

并且在警报中它仅显示候选人的名字。 为什么呢?

1 个答案:

答案 0 :(得分:0)

你应该这样做:

$(function() {
    $(':radio[name=group1]').change(function(e) {
        var selectedValue = $(':radio[name=group1]:checked').val();
      });
});

这是因为change事件不会在最近检查的复选框上触发,因此最好查询选中的复选框。

编辑哦,看起来你的问题出在html引号中:

只需将双引号添加到value,如下所示:

<input  type="radio" name="group1" value="<%=a%>" /><%=a %>

请注意添加的双引号。

希望这会有所帮助。干杯