채택완료

안녕하세요 option 값에 따른 색상변화에 관한 질문입니다!

이렇게 write.skin .php 에 소스를 줬습니다

예를들어 pay_arr 에 ㄱㄱ , ㄴㄴ , ㄷㄷ 이라는 값이있어서   ㄱㄱ 을 선택했을시 ㄱㄱ은 빨간색

ㄴㄴ은 노란색 ㄷㄷ은 파란색을 주고싶은데요 ㅠㅠ

Copy
<th scope="row"><label for="wr_13">가나다라</label></th>
    <td>
     <select name="wr_13" id="wr_13">
      <option value="">선택</option>
      <?foreach($pay_arr AS $pVal){?>
       <option value="<?=$pVal?>"<?php echo get_selected($wr_13, $pVal); ?>><?=$pVal?></option>
      <?}?>
     </select>
    </td>
  </tr>

list.skin.php엔 소스를

Copy
<td style="width:60px;text-align:center;"><?php echo $list[$i]['wr_13'] ?></td> <!--  입금파트 -->
 

이렇게 되어있는데 어떻게 조건을 주면 좋을까요 ㅠㅠ

그리고 위와 같은 소스에서 ㄱㄱ 선택시  <td> 태그의 배경식을 바꾸는건 어떻게 조건을줘야할까요 ㅠㅠ

답변 3개 / 댓글 6개

채택된 답변
+20 포인트

위 내용 다 맞다면, 이렇게 하시면 돼요.

list.skin.php 에만요

Copy
<?php
$td_color_arr = array("ㄱㄱ"=>"td_red","ㄴㄴ"=>"td_yellow","ㄷㄷ"=>"td_blue");
?>

<style>
.td_red {background:#ff0033;}
.td_yellow {background:#ffff00;}
.td_blue {background:#0000ff;}
</style>

<td style="width:50px;text-align:center;" class="<?php echo $td_color_arr[$list[$i]['wr_11']];?>"><?php echo $list[$i]['wr_11'] ?></td>
<td style="width:60px;text-align:center;" class="<?php echo $td_color_arr[$list[$i]['wr_12']];?>"><?php echo $list[$i]['wr_12'] ?></td>
<td style="width:60px;text-align:center;" class="<?php echo $td_color_arr[$list[$i]['wr_13']];?>"><?php echo $list[$i]['wr_13'] ?></td>

제이쿼리 사용하신다면 이렇게 하시면 돼요

Copy
<th scope="row"><label for="wr_13">가나다라</label></th>
 <td>

<!-- onChange="color_change(this.value)" 추가-->
  <select name="wr_13" id="wr_13" onChange="color_change(this.value)">
  <option value="">선택</option>
  <?foreach($pay_arr AS $pVal){?>
  <option value="<?=$pVal?>"><?=$pVal?></option>
  <?}?>
  </select>
 </td>
</tr>

 

<!-- class="color_tr" 추가-->
<td style="width:60px;text-align:center;" class="color_tr"><?php echo $list[$i]['wr_11'] ?></td> <!--  입금파트 -->
<td style="width:60px;text-align:center;" class="color_tr"><?php echo $list[$i]['wr_12'] ?></td>
<td style="width:60px;text-align:center;" class="color_tr"><?php echo $list[$i]['wr_13'] ?></td>


<script>
 function color_change(val){
  var color = "#fff"; //기본 컬러
  switch(val){
   case "ㄱㄱ":
    color = "#ff0033";
    break;
   case "ㄴㄴ":
    color = "#ffff00";
    break;
   case "ㄷㄷ":
    color = "#0000ff";
    break;
   default:
    break;
  }
  $(".color_tr").css({"background":color});
 }
</script>

답변에 대한 댓글 4개

13 줄 부터는 list.skin.php 에다 넣어주는게 맞는거죠,,? 안되네요ㅠㅠ
$pay_arr 은 config.php를 따로만들엉서 include 해서 사용중입니다 이게 문제있을린없구


write.skin.php에
[code]
<th scope="row"><label for="wr_13">입금파트</label></th>
<td>
<select name="wr_13" id="wr_13" onChange="color_change(this)">
<option value="">선택</option>
<?foreach($pay_arr AS $pVal){?>
<option value="<?=$pVal?>"<?php echo get_selected($wr_13, $pVal); ?>><?=$pVal?></option>
<?}?>
</select>
</td>
</tr>
[/code] 를 줬구요

list.skin.php 에

[code]
<td style="width:50px;text-align:center;" class="color_wr_11"><?php echo $list[$i]['wr_11'] ?></td>
<td style="width:60px;text-align:center;" class="color_wr_12"><?php echo $list[$i]['wr_12'] ?></td>
<td style="width:60px;text-align:center;" class="color_wr_13"><?php echo $list[$i]['wr_13'] ?></td>


<script>

function color_change(val){
var color = "red"; //기본 컬러
switch(val.value){
case "ㄱㄱ":
color = "black";
break;
case "ㄴㄴ":
color = "#ffff00";
break;
case "ㄷㄷ":
color = "#0000ff";
break;
default:
break;
}
$(".color_"+val.id).css({"background":color});
}
</script>



[/code]


를 줬는데 안먹히네요ㅠㅠ
아 한페이지에서 변경이 아니군요.
리스트에서죠?
그럼 wr11, wr_12, wr_13 은 필드 추가하셨고, update.php에서 insert까지 하신거죠?
리스트에 그럼 wr11, wr_12, wr_13 이것들의 값이 "ㄱㄱ","ㄴㄴ","ㄷㄷ" 이거구요?
매번 도움을 주셔서 감사합니다!

jquery를 사용하신다면 아래와 비슷하게 하면 되지 않을까요?

td의 class혹은 id를 지정하시면 되겠습니다. 하나이니 td아이디를 td_bg라고 한다면

Copy
<td id='td_bg' style='width: ....

jquery는 아래와 같습니다.

Copy
$(function(){

$('#wr_13').change(function(){    
    if($(this).val() === 'ㄱㄱ')
    {
        $('#td_bg').css('background-color','red');
    }

});

});

답변에 대한 댓글 2개

먹히질않네요 ㅠㅠ 뭐가 문제일까요..? 하나가 아니라
이렇게 wr_13 까지있는겁니다
<td style="width:60px;text-align:center;"><?php echo $list[$i]['wr_11'] ?></td>
아 하나가 아니라 13개 인가요??? id이니 각각 달라야 하겠네요
그럼 다음분이 하신것처럼 change이벤트를 만들고 배경색이 변해야 할 td의 아이디라던가 뭔가 선택할 수 있는 걸 넣어서 처리 하시면 될 듯 합니다.

답변을 작성하려면 로그인이 필요합니다.