#解決したいこと
select要素のoption:selectedの選択された時のみ背景カラーを変更したいです。
デフォルトのセレクト表示のみは、赤色などの色に指定しておきたいです。
年月日のセレクトにしているのですが、数字部分をjQueryで作成しています。
いろいろと試したのですが、jQueryでoption:selectedの背景カラーを設定すると、年月日のプルダウンが消えてしまいます。
どうしたらちゃんと動作するでしょうか。
html
1<label> 2 <select id="year"> 3 <option value="" selected>----</option> 4 </select> 5</labe> 6<label> 7 <select id="month"> 8 <option value="" selected>----</option> 9 </select> 10</labe> 11<label> 12 <select id="day"> 13 <option value="" selected>----</option> 14 </select> 15</labe>
css
1select { 2 background: red; 3} 4 5/*これも試してみましたが、うまくいきませんでした*/ 6/*scriptなし時*/ 7select [option]:selected { 8 background: #fff; 9}
javascript
1$(function(){ 2 var $i = 1; 3 for ($i; $i <=64 ; $i++){ 4 var $num = ('0' + $i).slice(-2); 5 $('#year').append('<option value="">'+ $num +'</option>'); 6 } 7}); 8$(function(){ 9 var $i = 1; 10 for ($i; $i <=12 ; $i++){ 11 var $i = ('0' + $i).slice(-2); 12 $('#month').append('<option value="">'+ $i +'</option>'); 13 } 14}); 15$(function(){ 16 var $i = 1; 17 for ($i; $i <=31 ; $i++){ 18 var $i = ('0' + $i).slice(-2); 19 $('#day').append('<option value="">'+ $i +'</option>'); 20 } 21}); 22 23$(function(){ 24 $('select').on('change',function(){ 25 var $selected = $(this).find('option:selected'); 26 $selected.removeClass('sl'); 27 if($(this).prop('selected')){ 28 $selected.addClass('sl').css({'background','#fff'}); 29 } 30 }); 31}); 32
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/24 04:09 編集
2017/04/24 03:57
2017/04/24 04:11
2017/04/24 04:27
2017/04/24 04:28