jquery / validation插件/对象文字:选择多个复选框

时间:2010-07-19 23:01:43

标签: jquery validation checkbox

好的,我试过读这个但是我很难过。不幸的是,这是我不能正确理解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;
         }

但我猜这是将实际函数本身分配给变量,而不是返回值。有人可以帮帮我吗?

1 个答案:

答案 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()