单击提交按钮后,选中多个复选框的JQuery显示警报

时间:2013-06-14 21:03:03

标签: jquery

这些代码只会在点击提交按钮后在警报消息中给我一个选中的复选框,当我选择多个值时,有人可以帮助我,请提前感谢

$.validator.setDefaults({
submitHandler: function() { 

contact = $('input[name=contactMethod]:checked').val();
alert(contact);

}
});


Email<input type="checkbox" value="email" name="contactMethod">
Home Phone<input type="checkbox" value="homephone" name="contactMethod">
Mobile<input type="checkbox" value="mobile" name="contactMethod">
Post<input type="checkbox" value="post" name="contactMethod">

2 个答案:

答案 0 :(得分:1)

尝试使用.map函数获取所有值:

contact = $('input[name=contactMethod]:checked').map(function() {
    return this.value;
}).get();

原因是,如果检查了多个,它只会给你第一个。 .map()返回一个很好的数组。

演示:http://jsfiddle.net/fuwfd/

答案 1 :(得分:1)

val()只获取集合中第一个元素的值,你必须迭代才能获得所有这些元素:

var contact = $.map($('input[name=contactMethod]:checked'), function(el,i) {
                  return el.value;
              });

alert(contact.join(', ')); // note : contact is now an array of all the values