【问题标题】:jQuery :input[value] with Radio buttonsjQuery :input[value] 与单选按钮
【发布时间】:2010-07-13 17:25:18
【问题描述】:

我正在使用:

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

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

我的问题是它不适用于 RADIO 按钮 - 它总是发送无线电组的最后一个值。

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

【问题讨论】:

    标签: jquery forms radio-button


    【解决方案1】:

    为此内置了一个函数,只需调用.serialize(),如下所示:

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

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

    【讨论】:

    • 成功了,谢谢。我进行了更改以忽略空白字段: var data = $("form :input[value!='']").serialize();
    【解决方案2】:

    您可能正在寻找.serialize() 方法。

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

    注意.serialize() 只序列化具有name 属性的输入控件。

    参考:.serialize()

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:
        <!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/>';
        
        ?>
        

        【讨论】:

        • serialize() 将从表单中获取ID为“myform”的所有数据并将其存储在数据变量中,该变量将被发送到test.php页面
        猜你喜欢
        • 2013-06-08
        • 2019-09-10
        • 2011-06-30
        • 1970-01-01
        • 1970-01-01
        • 2016-10-16
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        相关资源
        最近更新 更多