我有一个发送数据的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>
答案 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()
。否则它将无效。