![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは。
下記のように、nameを配列に設定してるCheckBoxについて、
func()内で、チェックされたCheckBoxを特定するには
どうすればよいでしょうか?
チェック済みのCheckBoxではなく、
func()を起動させた、チェック、チェック解除箇所です。
チェックする度、解除する度、変るはずです。
<input type="checkbox" name="arr[]" onClick="func()">
<input type="checkbox" name="arr[]" onClick="func()">
<input type="checkbox" name="arr[]" onClick="func()">
<input type="checkbox" name="arr[]" onClick="func()">
No.4ベストアンサー
- 回答日時:
>arr[]の何番目かというのは判らないのでしょうか?
<html>
<head>
<script language="JavaScript"><!--
function func(obj) {
var a = document.getElementsByName("arr[]");
for(var i = 0; i < a.length; i++){
if(a[i] == obj){
alert(i);
}
}
}
// --></script>
</head>
<body>
<form>
<input type="checkbox" name="arr[]" onClick="func(this)">
<input type="checkbox" name="arr[]" onClick="func(this)">
<input type="checkbox" name="arr[]" onClick="func(this)">
<input type="checkbox" name="arr[]" onClick="func(this)">
</form>
</body>
</html>
この方法が正しいのかちょっと自信はありませんが、Windowsの IE6 Opera9 FireFox2 で動作確認しました。
No.5
- 回答日時:
別解として(めんどくさい方法)idを指定してそこから取り出す。
(数字だけのIDは指定出来ません。アルファベットなどと組み合わせてください)
<input type="checkbox" name="arr[]" id="arr1" value="check1" onlick="func(this);">
<input type="checkbox" name="arr[]" id="arr2" value="box1" onlick="func(this);">
func(element){
var num=element.id.substr(3,element.id.length);
alert(num);
}
あらかじめJSONオブジェクトを作っておくと(valueから判断する場合)
var chklist={'check1':1,'box1':2};
func(element){
var num=chklist[element.value];
alert(num);
}
普通はANo.4のようにループさせて引数と同じオブジェクトかどうかを判断すると思います。
蛇足ながら<a>のname属性と混同される方も多いので、
<input>のname属性はHTML4.01、XHTML1.0、XHTML1.1ともsubmitとresetをのぞき必須(required)、submitとresetは任意
idに使用出来ない文字でもnameに使用出来る文字であれば、nameに指定することが出来ます
> DTDより、INPUTに関する部分
> <!-- attribute name required for all but submit and reset -->
自分でも必須というのは今になって初めて知りました。。。
No.3
- 回答日時:
1.name属性は推奨されません。
id属性を使います。name属性はXHTML1.1で廃止されています。
HTML4.0なら問題ないですが、id属性も併用するほうがよろしいでしょう。
2.id(name)属性で使える文字は、[a-zA-Z]、[0-9]、ハイフン(-)、アンダーライン(_)、コロン(:)、ピリオド(.)
だけなので、"[]"を使ってはいけません。
IDは普通の名前にして、onClickでfunc(this)などとして、JavaScript上でチェック対象をチェック
すると思います。
No.2
- 回答日時:
関数を呼び出すときにthisを引数で渡します。
サンプル
<html>
<head>
<script language="JavaScript"><!--
function func(obj) {
alert(obj.checked);
}
// --></script>
</head>
<body>
<form>
<input type="checkbox" name="arr[]" onClick="func(this)">
<input type="checkbox" name="arr[]" onClick="func(this)">
<input type="checkbox" name="arr[]" onClick="func(this)">
<input type="checkbox" name="arr[]" onClick="func(this)">
</form>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
checkboxをクリックしてリロー...
-
チェックボックスのON/OFFでVal...
-
【jsp/Java】チェックボックス...
-
選択したラジオボタンが画面の...
-
チェックボックスのON/OFFに応...
-
チェックボックス
-
JavaScriptで入力制御&チェッ...
-
<JavaScript>tableタグを入力不...
-
<input>の選択肢をプルダウンメ...
-
至急!GetElementById でtdの...
-
return trueとreturn falseの用...
-
ハイパーリンクを別ウインドウ...
-
TD内のチェックボックスの位置...
-
コピペを禁止するtextarea
-
javascriptでセレクトボックス...
-
未入力のラジオボタンに、alert...
-
value内に変数を入れたい
-
ASP エラーチェック VBScript
-
onchangeイベントを強制的に発...
-
ボタン2回押しを無効にしたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスのON/OFFでVal...
-
チェックボックスの設定
-
【jsp/Java】チェックボックス...
-
背景色を変えて未入力チェック...
-
フォームのチェックボックスの...
-
オフになっているチェックボッ...
-
確認ページからフォームページ...
-
EclipseでSpringを使用し、テー...
-
チェックボックス
-
チェックボックスのON/OFFに応...
-
javascriptでチェックボックス...
-
複数のチェックボックス項目が...
-
checkboxをクリックしてリロー...
-
Nameは配列で、チェックされた...
-
複数あるチェックボックスから...
-
チェックボックスが1つ以上チェ...
-
JSP内で可変するチェックボック...
-
チェックボックスを複数選択し...
-
ラジオボタンとチェックボック...
-
selectメニューによるチェック...
おすすめ情報