代码之家  ›  专栏  ›  技术社区  ›  Ricky

jquery:用单选按钮输入[值]

  •  0
  • Ricky  · 技术社区  · 14 年前

    我正在使用:

    var data = $("form :input[value]");
    

    获取表单中的所有值并将数据传递给Ajax脚本。

    我的问题是它不能与单选按钮一起工作-它总是发送单选组的最后一个值。

    关于如何获取选中的单选按钮以及所有其他表单值有什么想法吗?

    4 回复  |  直到 10 年前
        1
  •  1
  •   Nick Craver    14 年前

    有一个内置函数,只需调用 .serialize() ,像这样:

    var data = $("form").serialize();
    

    You can see how it's appropriately filtering out these elements here .

        2
  •  1
  •   jAndy    14 年前

    你可能在找 .serialize() 方法。

    var data = $('form').serialize();
    

    注释 : 序列化() 仅序列化具有 name 属性。

    参考文献: .serialize()

        3
  •  0
  •   Roman    14 年前

    对于单选按钮,需要检查选中的属性。

        4
  •  0
  •   Yozaira R.    10 年前
    <!doctype html>
    <html lang="en">
    <head>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script>
    // serialize() will get all data from form with id "myform" and store it in data variable, that will be sent to test.php page.
    
        $(document).ready(function() {
            $('#submit').click(function () {
    
             var data = $("#myForm").serialize();   
    
             if($('input[type="radio"]:checked').length == "0") {    
                  alert("Select any value");     
             } else {                       
                    $.post ( 
                        "test.php", 
                         data,
                         function (response) {
                         $('#message').html(response);
                         }
                    );
            }
            return false;           
            });
    
        });
    </script>
    
    </head>
    <body> 
        <form id ="myForm">
            <label>Name</label>
            <input type="text" name="name" id="name"/> <br/><br/>   
            <br/>
            <label>Select your favourite Activities:</label><br/>
            <input type="radio" name="reading" value="reading"> Reading<br />
            <input type="radio" name="programming" value="programming"> Programming<br />
    
            <input type="submit" id="submit"/>  
        </form>
    <div id="message"></div>
    
    </body>
    </html>
    
    test.php 
    <?php 
    
        var_dump($_POST); 
    
        $name = $_POST['name'];
        echo "Welcome ". $name.'!<br/>';
    
    ?>