试图找到所选的单选按钮。怎么了?

时间:2011-05-02 13:51:24

标签: javascript jquery ajax

我可以读出文本字段值,但是当我尝试找到所选的单选按钮时,我什么都没得到。

$(document).ready(function(){

    $("form#create_form").submit(function() {

    var title      = $('#title').attr('value');
    var owner      = $('#owner').attr('value');
    var users      = $('#users').attr('value');
    var groups     = $('#groups').attr('value');
    var begin_date = $('#begin_date').attr('value');
    var end_date   = $('#end_date').attr('value');

    // get selected radio button 
    var type = '';
    for (i=0; i<document.forms[0].type.length; i++) {
        if (document.forms[0].type[i].checked) {
        type = document.forms[0].type[i].value;
        }
    }

HTML:

<div class="create-new">
  <form id="create_form" name="create_form" action="" method="post">
  ...
  <input name="type" id="type" value="individuel" type="radio" /> Individuel <br/>
  <input name="type" id="type" value="course"     type="radio" /> Course <br/>

  <button class="n" type="submit">Create</button>
  </form>

我做错了什么?

1 个答案:

答案 0 :(得分:2)

我建议另一种获取所选单选按钮的方法(因为你已经在使用jQuery):

$('input:radio[name=type]:checked').val();

此解决方案是.val()上的示例。

上述解决方案更为简洁,如果添加其他表格,您将来可以避免任何冲突(即您可以避免潜在的危险document.forms[0])。

<强>更新

我用下面的小提琴测试了你原来的功能,它起作用了:

http://jsfiddle.net/nujh2/

我做的唯一更改是在循环变量var前添加i