好的,我试过读这个但是我很难过。不幸的是,这是我不能正确理解javascript的情况。
使用jqueries验证插件处理表单时,使用文字表示法将变量发送到php邮件程序:
submitHandler: function() {
$.post("includes/mail-form.php",
{
age : $("#form-age-id").val(),
email : $("#form-email-id").val(),
name : $("#form-name-i").val(),
我理解。变量age被赋予元素的值。当我有多个复选框时,我不能使用:
$("input.checkboxes:checked').val()
因为它只会选择第一个匹配的元素,所以我需要使用类似于
的函数迭代多个复选框 var allVals = [];
$('input.orthodontic-medical-form-disease:checked').each(function() {
allVals.push($(this).val());
});
return allVals;
我不明白的是我如何将返回值分配给文字。我试过了
submitHandler: function() {
$.post("includes/mail-form.php",
{
age : $("#form-age-id").val(),
email : $("#form-email-id").val(),
name : $("#form-name-i").val(),
checkboxes : function(){
var allVals = [];
$('input.orthodontic-medical-form-disease:checked').each(function() {
allVals.push($(this).val());
});a
return allVals;
}
但我猜这是将实际函数本身分配给变量,而不是返回值。有人可以帮帮我吗?
答案 0 :(得分:0)
试试这个:
checkboxes : $('input.orthodontic-medical-form-disease:checked').map(function() {
return $(this).val();
}).get() // returns array of checked values
或者,将“checkbox value getting”逻辑封装到命名函数中:
function getCheckedVals() {
var rv = $('input.orthodontic-medical-form-disease:checked').map(function() {
return $(this).val();
}).get();
return rv;
}
然后调用它:
checkboxes: getCheckedVals()