----- 実現したいこと -----------------------------
以下をjQueryを使って実現したいです。
・「名前」のうちどれか1つが選択されたら
「名前」の背景を白くする。(「名前」ulタグのbackground-colorを#ffffffへ)
・「季節」のうちどれか1つが選択されたら
「季節」の背景を白くする。(「季節」ulタグのbackground-colorを#ffffffへ)
方針だけでもご教授いただければ幸いでございます。
----- ソース -------------------------------------
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
</script>
</head>
<body>
□名前<br>
<ul style="background-color:#ff0000;">
<input type="checkbox" value="1">一郎<br>
<input type="checkbox" value="2">二郎<br>
<input type="checkbox" value="3">三郎
</ul>
<br>
<br>
<br>
□季節<br>
<ul style="background-color:#ff0000;">
<input type="checkbox" value="1">春<br>
<input type="checkbox" value="2">夏<br>
<input type="checkbox" value="2">秋<br>
<input type="checkbox" value="2">冬
</ul>
</body>
</html>
No.1ベストアンサー
- 回答日時:
これでどうでしょう?
---
<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('ul').css('background-color', '#f00');
$('input').bind('click',function(){
var ul = $(this).parents('ul');
if (ul.find('input:checked').length) {
ul.css('background-color', '#fff');
} else {
ul.css('background-color', '#f00');
}
});
});
</script>
<style>
* {
margin: 0;
padding: 0;
}
ul {
margin-top: 1em;
margin-bottom: 3em;
list-style-type: none;
}
</style>
</head>
<body>
□名前
<ul>
<li><label><input type="checkbox" value="1">一郎</label></li>
<li><label><input type="checkbox" value="2">二郎</label></li>
<li><label><input type="checkbox" value="3">三郎</label></li>
</ul>
□季節
<ul>
<li><label><input type="checkbox" value="1">春</label></li>
<li><label><input type="checkbox" value="2">夏</label></li>
<li><label><input type="checkbox" value="2">秋</label></li>
<li><label><input type="checkbox" value="2">冬</label></li>
</ul>
</body>
</html>
この回答への補足
kaorineさんありがとうございます。
まだjQueryを始めたばかりなのでとっても勉強になります。
F5ボタンを押してもそのままの状態を保つためにはどのような記述をすればよいでしょうか。
難しいです・・・
No.2
- 回答日時:
クッキーを使ってチェックボックスの状態を保存することでしょうか。
jQuery.cookie.js を使います。(参考URL)
---
<html>
<head>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript">
$(function(){
var colors = {
checked : '#fff',
unchecked : '#f00'
}
$('ul').css('background-color', colors.unchecked);
$('input').each(function(){
if ($.cookie(this.id) == 'true') {
this.checked = 'checked';
$(this).parents('ul').css('background-color', colors.checked);
}
});
$('input').bind('click',function(){
$.cookie(this.id, this.checked);
var ul = $(this).parents('ul');
if (ul.find('input:checked').length) {
ul.css('background-color', colors.checked);
} else {
ul.css('background-color', colors.unchecked);
}
});
});
</script>
<style>
* {
margin: 0;
padding: 0;
}
ul {
margin-top: 1em;
margin-bottom: 3em;
list-style-type: none;
}
</style>
</head>
<body>
□名前
<ul>
<li><label for="ichiro"><input type="checkbox" value="1" id="ichiro"/>一郎</label></li>
<li><label for="jiro"><input type="checkbox" value="2" id="jiro"/>二郎</label></li>
<li><label for="saburo"><input type="checkbox" value="3" id="saburo"/>三郎</label></li>
</ul>
□季節
<ul>
<li><label for="haru"><input type="checkbox" value="1" id="haru"/>春</label></li>
<li><label for="natsu"><input type="checkbox" value="2" id="natsu"/>夏</label></li>
<li><label for="aki"><input type="checkbox" value="2" id="aki"/>秋</label></li>
<li><label for="huyu"><input type="checkbox" value="2" id="huyu"/>冬</label></li>
</ul>
</body>
</html>
参考URL:http://plugins.jquery.com/project/cookie
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムについて。
-
スマホ上で、左右スワイプで次...
-
初心者です。gulpでコンパイル...
-
プログラムがうまく動きません...
-
jsで質問です。 displayプロパ...
-
【Google Apps Script】「ライ...
-
console.logがどうしても2つ機...
-
指定時間になったら、WEBサイト...
-
Googleフォームで選択肢に応じ...
-
セレクトを全て選択されていな...
-
イラストレーター、縦中横のシ...
-
sessionStorageを調べています。
-
コードレビューをお願いします。
-
セレクトボックスで配列を呼び...
-
jsで、配列内の文章を改行する...
-
jQueryで同じクラス名のものを...
-
HTMLタグに複数のクラスを設定...
-
コードレビューをお願いします。
-
IndexedDB を使ってファイルア...
-
画面遷移を行わずに同一ページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
jsで質問です。 displayプロパ...
-
画面遷移を行わずに同一ページ...
-
Googleフォームで選択肢に応じ...
-
特定の文字列を複数抜き出した...
-
フロントエンドフレームワーク...
-
変数名をどのようにつけるのが...
-
【JS】selectでchangeした時の...
-
React hooksが値を返して配列変...
-
オブジェクトから任意のプロパ...
-
指定時間になったら、WEBサイト...
-
Colorboxがうまく設置できません
-
二次元配列の中の各行の要素を...
-
読み込んだQRコードをフォーム...
-
IndexedDB を使ってファイルア...
-
HTMLで作った時報アプリが動き...
-
GASに文字列として関数を入れる...
-
GASでGoogleフォームの自動返信...
-
①入力フォーム→②確認表示画面→③...
おすすめ情報