单选按钮获得价值

时间:2011-12-01 02:36:33

标签: javascript jquery

我有一些像这样的HTML

<form id="reportform" method='post'>
<input type='hidden' id='qid' name='qid' value="<?php echo $id ?>" />
<span><input type="radio" id="reporttp" name="reporttp" value="spam" /> spam</span>
<span><input type="radio" id="reporttp" name="reporttp" value="attack" /> attacking</span>
<span><input type="radio" id="reporttp" name="reporttp" value="nonsense" /> nonsense</span>
<span><input type="radio" id="reporttp" name="reporttp" value="other" /> other</span
<input type="image" name='Submit' value='Submit' src="../Images/buttons/reportButton.png"/>
</form>

当我尝试读取$('#reportform').submit(function() {

中的值时

我将其读作$(reportttp).attr("value")。然后我做了一些帖子(工作正常)。问题是,即使我选择其他收音机盒,我总是会向我发送“垃圾邮件”。如果我切换第一个和第二个单选按钮,生病就会“攻击”......你能告诉我出了什么问题吗?

4 个答案:

答案 0 :(得分:6)

您不能拥有多个ID相同的元素

我假设您要阅读已检查的单选按钮的值?是这样,给他们所有独特的ID,然后做:

$("input[type='radio']:checked", "#reportform").val();

这将获取你reportform内的所有单选按钮,抓取选中的按钮,然后检索其值。

答案 1 :(得分:2)

我的猜测是每个单选按钮的名称和ID都是相同的,导致浏览器任意做出奇怪的决定。

答案 2 :(得分:0)

除了亚当的回答,这也是无效的:

$(reportttp).attr("value")

应该是

$('input[name="reportttp"]').val()

我在此撤回我的陈述,因为亚当更新了他对更好的答案。

并删除重复的ID

答案 3 :(得分:0)

您应该可以执行$('#reportttp')。val()来获取所选值。