【问题标题】:not getting radio button values in jquery ajaxform没有在jquery ajaxform中获取单选按钮值
【发布时间】:2009-10-20 06:54:03
【问题描述】:

我有一个绑定到 JQuery 表单 (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() 根本不返回值,尽管该值是在标签中设置的。我一无所知,有什么想法吗?

【问题讨论】:

    标签: forms jquery radio-button ajaxform


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这对我来说完美无缺。

      复制/粘贴以下代码

      <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自己看看

      【讨论】:

      • 是的,它在这种情况下有效。我不知道,这很奇怪——就像我说的,我一无所知。在我的代码中, val() 值为空。我正在使用 jquery 表单并验证插件。也许有问题(某种不兼容......)?
      猜你喜欢
      • 1970-01-01
      • 2016-05-08
      • 2012-01-27
      • 2015-12-26
      • 2013-10-14
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      相关资源
      最近更新 更多