没有在jquery ajaxform中获取单选按钮值

时间:2009-10-20 06:54:04

标签: forms jquery radio-button ajaxform

我有一个绑定到JQuery Form(AjaxForm)对象的表单。

在表格中我有一些单选按钮:

<input type="radio" id="dialog_stranka_dodajuredi_tip_fizicna" name="dialog_stranka_dodajuredi_tip" value="2" /> Selection 2
<input type="radio" id="dialog_stranka_dodajuredi_tip_pravna" name="dialog_stranka_dodajuredi_tip" value="1" /> Selection 1

现在,当表单通过AJAX发布时,参数“dialog_stranka_dodajuredi_tip”为空。它根本没有值 - 无论选择了哪个单选按钮。

我也试过绑定这样的更改事件:

 $('input[name=dialog_stranka_dodajuredi_tip]').bind('change', function(){ 

   switch (parseInt($('input[name=dialog_stranka_dodajuredi_tip]:checked').val())) {
     case 2: 
       alert('number 2 selected');
       break;
     case 1:
       alert('number 1 selected');
       break;
 } 
 }); 

但是val属性根本没有任何价值。警报框不会弹出。

我已经使用firebug来调试和设置监视,这是结果(值):

$('input[name=dialog_stranka_dodajuredi_tip]').val()  -> value: ""
$('input[name=dialog_stranka_dodajuredi_tip]:checked').attr('id') --> value: "dialog_stranka_dodajuredi_tip_pravna"
$('input[name=dialog_stranka_dodajuredi_tip]:checked').attr('name') --> value: "dialog_stranka_dodajuredi_tip"
$('input[name=dialog_stranka_dodajuredi_tip]:checked').val() --> value: ""

正如您所看到的,尽管在标记中设置了值,但val()根本不会返回值。我很笨,任何想法?

2 个答案:

答案 0 :(得分:1)

在名称周围添加引号'为我解决了这个问题, 喜欢:

switch (parseInt($("input[name='dialog_stranka_dodajuredi_tip']:checked").val())) { ... 

答案 1 :(得分:0)

这对我来说毫无瑕疵。

复制/粘贴以下代码

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script type="text/javascript">
      function a() {
        alert($('input[name=dialog_stranka_dodajuredi_tip]:checked').val());
        return false;
      }
    </script>
  </head>
  <body>
    <form action="">
      <input type="radio" id="dialog_stranka_dodajuredi_tip_fizicna" name="dialog_stranka_dodajuredi_tip" value="2"/> Selection 2
      <br>
      <input type="radio" id="dialog_stranka_dodajuredi_tip_pravna" name="dialog_stranka_dodajuredi_tip" value="1" /> Selection 1
    </form>
    <a href="#" onclick="javascript:a();">Check radio buttons</a>
</body>
</html>

到此页面W3School Tryit,亲身体验