こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

checkboxクリックされていないidを取得

<form id="chkform">
<input type="checkbox" name="check" value="aaa" id="aaa">aaa
<input type="checkbox" name="check" value="bbb" id="bbb">bbb
<input type="checkbox" name="check" value="ccc" id="ccc">ccc
                  ・
                  ・ 
                  ・
<input type="checkbox" name="check" value="zzz" id="zzz">zzz
</form>

チェックボックスの複数の項目の内、チェックされていない全てのIDを取得する方法を教えてください。
よろしくお願いいたします。

投稿日時 - 2013-03-14 17:41:35

QNo.7993301

すぐに回答ほしいです

質問者が選んだベストアンサー

#1です。 つかえないものを、おつかいなら。ぜんかくくうはくは、はんかくに。

var input = document.getElementsByTagName ('input');
var result = [];

for (var i = 0, e; e = input[i++]; )
 if ('checkbox' === e.type)
  if (! e.checked)
   result.push (e.id);

alert (result);

投稿日時 - 2013-03-14 19:36:16

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

document.querySelectorAll と, Array.map がつかえたなら。

<!DOCTYPE html>
<title></title>
<meta charset="UTF-8">

<body>
<input type="checkbox" name="check" value="aaa" id="aaa" checked="checked">aaa
<input type="checkbox" name="check" value="bbb" id="bbb">bbb
<input type="checkbox" name="check" value="ccc" id="ccc" checked="checked">ccc
<input type="checkbox" name="check" value="zzz" id="zzz">zzz

<script>

var select_str = 'input[type="checkbox"]:not(:checked)';
var chkbox = document.querySelectorAll (select_str);
var getId = function (e) { return e.id };
var result = Array.prototype.map.call (chkbox, getId);

alert(result);
</script>

</body>

投稿日時 - 2013-03-14 19:29:15

あなたにオススメの質問