使用AJAX发送复选框值

时间:2013-12-25 22:41:41

标签: jquery ajax forms post var

我有一个发送数据的ajax脚本。我只希望它在检查输入时发送数据。对于每个输入,我已经定义了一个特定的值。如果选中,我怎么才能定义数据输入?或者有更好(简单)的方法吗?所有这些都在一个对话框内。

            "Send": (function() {
                        var data = {
                            name: $("input#name").val(),
                            phone: $("input#phone").val(),
                            email: $("input#email").val(),
                            interest1: $("input#interest1").val(),
                            interest2: $("input#interest2").val(),
                            interest3: $("input#interest3").val(),
                            yesA: $("input#yesA").val(),
                            noA: $("input#noA").val(),
                            yesB: $("input#yesB").val(),
                            noB: $("input#noB").val(),
                            interest_1:
                                if("input#interest_1").is(':checked')) {
                                    $("input#interest_1").val(),
                                }
                            interest_2: $("input#interest_2").val(),
                            interest_3: $("input#interest_3").val(),
                            architectY: $("input#architectY").val(),
                            architectN: $("input#architectN").val(),
                            plansY: $("input#plansY").val(),
                            plansN: $("input#plansN").val(),
                            datepicker: $("input#datepicker").val(),
                            alt_date: $("input#alt_date").val(),
                        }
                        var $dialog=$(this)
                        $.ajax({
                            type: "POST",
                            url: "mailer.php",
                            data: data,
                            success: function () {
                                $dialog.dialog("close");
                            }
                        });
                        return false;  


                              }),

表单的遗弃版本如下所示:注意*我不想使用单选按钮,因为用户应该能够选择多个选项。

     <div id="dialog">
      <form method="post" action="mailer.php">
       <input type="checkbox" id="interest_1" value="option A"/>Option A
       <input type="checkbox" id="interest_2" value="option B"/>Option B
       <input type="checkbox" id="interest_3" value="option C"/>Option C
     </form>
      </div>

1 个答案:

答案 0 :(得分:1)

你的问题有点模糊,但我认为你的问题是:

interest_1:
    if("input#interest_1").is(':checked')) {
        $("input#interest_1").val(),
    }

因此,如果我理解正确,您希望如果选中input#interest_1,请在您的ajax数据中设置interest_1。在这种情况下,您可以使用立即调用的函数表达式(IIFE),如下所示:

interest_1: (function() { 
    if($("input#interest_1").is(":checked")) {
        return $("input#interest_1").val();
    }
})(),

现在,如果选中interest_1,则该函数将返回其.val()。否则它将无效。