-1

当我选择多个值时,这些代码仅在单击提交按钮后在 altr 消息中给我一个选中的复选框,有人可以帮助我,请提前致谢

$.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">
4

2 回答 2

1

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

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

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

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

于 2013-06-14T21:05:02.163 回答
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
于 2013-06-14T21:05:15.513 回答