0

私はそのようにフォーマットされたチェックボックスをたくさん持っています....

<input type="checkbox" name="mybox" value="box1">Box 1</input>
<input type="checkbox" name="mybox" value="box2">Box 2</input>
<input type="checkbox" name="mybox" value="box3">Box 3</input>
<input type="checkbox" name="mybox" value="box4">Box 4</input>
<input type="checkbox" name="mybox" value="box5">Box 5</input>

javascriptを使用してどのボックスがチェックされているかを読み取り、それらを配列として保存しようとしています.次のコードを使用しています....

  function handleNotifyButtonClick() {
    var type = $.trim($("input[@name='mybox']:checked").each(function()
    {
    add $(this).val() to your array;
    }));

しかし、何らかの理由で機能していないのですが、誰か助けてもらえますか?

4

2 に答える 2

1

$(this).val() を配列に追加します。

これは JavaScript ではなく英語です。

これを試して:

var type = [];
$("input[name=mybox]:checked").each(function() {type.push(this.value)});
于 2013-02-05T18:26:56.287 に答える
0

それは属性 equals selectorを行う方法ではなく、そこにさまざまな構文エラーがあります。しかし、あなたは正しい軌道に乗っています。

function handleNotifyButtonClick() {
    var values = $('input[name="mybox"]:checked').map(function() {
        return this.value;
    }).get();
}

実例| ソース- この例では、HTML も修正されており、labelあなたがしようとしていたと思われるタグの使用方法を示しています。

私がそこでやったこと:

  • 属性 equals セレクター ( name="value")を使用する
  • map値のマップを取得するために使用します
  • に渡すイテレータ関数でmapは、各チェックボックスの値を返します (thisは生の DOM オブジェクトであり、要素valueに対して完全に信頼できるクロスブラウザです)。input
  • get返されたマップ (奇妙に jQuery インスタンス) を実際の配列に変換するために使用します。

補足として、決して使用しません</input>inputvoid 要素です。終了タグは必要ありません。

于 2013-02-05T18:26:41.107 に答える