-1

これらのコードは、複数の値を選択したときに送信ボタンをクリックした後、aletr メッセージで選択されたチェックボックスを 1 つだけ表示します。

$.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();

その理由は、複数がチェックされている場合、最初の 1 つだけが表示されるからです。は.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 に答える