お世話になります。
phpMyAdminのテーブルみたいに、セルの一部にカーソルが乗ると背景色を緑色に変更し、離れると元の色に戻り、セルの一部でクリックすると、特定のチェックボックスにチェックが入り、かつ背景色をオレンジ色に固定するやり方を探しています。(チェックが入ると、マウスが乗っても、離れても、チェックがはずれるまではオレンジ色のまま)
phpMyAdminは一行全てが色が変わりますが、現在考えているのは、
<form id="form" action="hoge.php" method="post" name="form">
<table width="500" border="1" cellspacing="2" cellpadding="0">
<tr>
<td bgcolor="#dee3e7"><input type="checkbox" name="del_1" value="1" />削除1</td>
<td bgcolor="#dee3e7">ファイル1</td>
<td bgcolor="#dee3e7"><input type="checkbox" name="del_2" value="1" />削除2</td>
<td bgcolor="#dee3e7">ファイル2</td>
</tr>
</table>
</form>
のように、一行にセルが4つあります。
左二つのどちらかにマウスが乗ると左二つの色を変え、クリックすると、左側のチェックボックスにチェックが入り、色を固定する。
同様に右側2つのセルにカーソルが乗れば色を変え、離れれば元の色に戻る。表の一部をクリックするとチェックボックスにチェックが入り、色が固定される・・・
このようなページを作りたいので、是非、お力をかして頂けないでしょうか。よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
IEだとうまくいくが、FireFoxだとちょっと動作が異なる(チェックボックス自体が機能しない、許されよ)
--------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>Sample</title>
<script type="text/javascript">
<!--
function mouseover(el){
el.style.backgroundColor="Green";
}
function mouseout(el){
el.style.backgroundColor="";
}
function mouseoverWithLock(el,f){
if(!f.checked)
mouseover(el);
}
function mouseoutWithLock(el,f){
if(!f.checked)
mouseout(el);
}
function changeLock(el,f){
if(f.checked){
el.style.backgroundColor="";
f.checked=false;
} else {
el.style.backgroundColor="Orange";
f.checked=true;
}
}
//-->
</script>
</head>
<body>
<form id="form" action="hoge.php" method="post" name="form">
<table width="500" border="1" cellspacing="2" cellpadding="0">
<tr>
<td bgcolor="#dee3e7"
onmouseover="mouseoverWithLock(this, form.del_1)"
onmouseout ="mouseoutWithLock(this, form.del_1)"
onclick ="changeLock(this, form.del_1)">
<input type="checkbox" name="del_1" value="1" onclick="changeLock(this.parentElement,this)"/>削除1</td>
<td bgcolor="#dee3e7"
onmouseover="mouseover(this)" onmouseout="mouseout(this)">ファイル1</td>
<td bgcolor="#dee3e7"
onmouseover="mouseoverWithLock(this, form.del_2)"
onmouseout ="mouseoutWithLock(this, form.del_2)"
onclick ="changeLock(this, form.del_2)">
<input type="checkbox" name="del_2" value="1" onclick="changeLock(this.parentElement,this)" />削除2</td>
<td bgcolor="#dee3e7"
onmouseover="mouseover(this)" onmouseout="mouseout(this)">ファイル2</td>
</tr>
</table>
</form>
</body>
</html>
回答して頂きまして本当にありがとうございます。
参考にしてがんばります!
できれば、ファイル1のセルにマウスが乗ると、チェックボックス(del_1)のセルもグリーンにしたいのと、ファイル1のセルをクリックすれば、チェックボックス(del_1)がチェックされるようにしたいのです。
ひとつのセルを指定するのであれば、this でできますが、その指定する隣のセルも同じようにできないでしょうか。
もし、なにかヒントがあればよろしくお願いします。
ありがとうございました。
No.3
- 回答日時:
>今回の目的とは異なります。
う~ん、
例えば、
ファイルAのペアのTDには
id="A1",id="A2"みたいにIDを振れば、今選ばれたセルから他方のセルを限定することは簡単です。
後は、同じようにセル毎の処理をすればいいです。
ありがとうございました!
idを作ってそれを指定すればよかったんですね。
あと、関数の引数の項目をもう一つ増やしたらできました^^
本当にありがとうございました!
No.2
- 回答日時:
#1>隣のセルも同じようにできないでしょうか。
説明から別々だと思っていました。
それぞれのセルを扱うこともできますが、面倒なので、
表の形は変わってしまいますが、TRでまとめてやると簡単です。
----------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS">
<title>Sample</title>
<script type="text/javascript">
<!--
function mouseoverWithLock(el,f){
if(!f.checked)
el.style.backgroundColor="Green";
}
function mouseoutWithLock(el,f){
if(!f.checked)
el.style.backgroundColor="";
}
function changeLock(el,f){
//FireFoxではチェックボックス自体をクリックした時うまくない
if(f.checked){
el.style.backgroundColor="";
f.checked=false;
} else {
el.style.backgroundColor="Orange";
f.checked=true;
}
}
//-->
</script>
</head>
<body>
<form id="form" action="hoge.php" method="post" name="form">
<table width="500" border="1" cellspacing="2" cellpadding="0">
<tr bgcolor="#dee3e7"
onmouseover="mouseoverWithLock(this, form.del_1)"
onmouseout ="mouseoutWithLock(this, form.del_1)"
onclick ="changeLock(this, form.del_1)">
<td>
<input type="checkbox" name="del_1" value="1" onclick="changeLock(this.parentElement.parentElement,this)"/>削除1</td>
<td>ファイル1</td>
</tr>
<tr bgcolor="#dee3e7"
onmouseover="mouseoverWithLock(this, form.del_2)"
onmouseout ="mouseoutWithLock(this, form.del_2)"
onclick ="changeLock(this, form.del_2)">
<td>
<input type="checkbox" name="del_2" value="1" onclick="changeLock(this.parentElement.parentElement,this)" />削除2</td>
<td>ファイル2</td>
</tr>
</table>
</form>
</body>
</html>
BLUEPIXY様、いつも本当に感謝しています。
TRでやると、確かに便利ですが、今回の目的とは異なります。
+----+-----+----+-----+
|□削除A|ファイルA|□削除B|ファイルB|
+----+-----+----+-----+
|□削除D|ファイルD|□削除E|ファイルE|
+----+-----+----+-----+
|□削除H|ファイルH|□削除I|ファイルI|
+----+-----+----+-----+
(本当は3行6列の表でやっています)
のように、同じ行にペアAとペアBがあって、
(□削除A)と(ファイルA)のセルのどちらかに
カーソルがあれば、このふたつのセルだけ背景色を
変更し、どちらかのセルをクリックすれば、
チェックボックスにチェックを入れ、背景色を
固定したいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript javascriptでテーブルに追加した項目のid追加してローカルストレージを操作したい 5 2023/01/01 15:52
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Javascriptの電卓で最初の何も...
-
localStorageでのcheckbox制御
-
history.backの前に値をクリア...
-
formで項目を連結したい
-
チェックボックス付きのテーブ...
-
JavaSprictで時間取得と指定し...
-
JavaScriptの「.querySelectorA...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
submitボタン押下時にPOSTされ...
-
onchangeイベントを強制的に発...
-
大文字か小文字かを判断する方法
-
【jQuery】input nameの文字列...
-
Selectボックスの幅を自動で広...
-
ラジオボタンにタブインデック...
-
ハイパーリンクを別ウインドウ...
-
selectを変更不可にしたい
-
tableの任意行にfocusをあてる
-
チェックボックスのON/OFFに応...
-
プルダウン選択を変更すると、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptの「.querySelectorA...
-
複数のselect値で1つも選択され...
-
チェックボックス付きのテーブ...
-
ラジオボタンが選択されたらテ...
-
入力チェックの外部スクリプト...
-
Javascriptの電卓で最初の何も...
-
文字数を数える際に空白、改行...
-
画面の2重起動をチェックする...
-
画面表示とともにtableの指定の...
-
jQueryで合計を出したい
-
localStorageでのcheckbox制御
-
JavaScriptによる自動計算フォーム
-
同一nameの input type="text"...
-
テーブル内のチェックボックス...
-
formで項目を連結したい
-
クリックしたラジオボタンの行...
-
Javascriptで自動計算の合計の...
-
ラジオボタンを一括で操作する...
-
送信ボタン連打を抑止したいです
-
ボタン押下すると一行テキスト...
おすすめ情報