테스트 사이트 - 개발 중인 베타 버전입니다

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

aaab 7년 전 조회 2,505

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

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

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

 

</p>

<p>   <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></p>

<p>

list.skin.php엔 소스를

</p>

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

<p>
 

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

 

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

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

답변 3개

채택된 답변
+20 포인트
7년 전

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

list.skin.php 에만요

</p>

<p><?php

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

?></p>

<p><style>

.td_red {background:#ff0033;}

.td_yellow {background:#ffff00;}

.td_blue {background:#0000ff;}

</style></p>

<p><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></p>

<p>

로그인 후 평가할 수 있습니다

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

7년 전

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

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

 <td></p>

<p><!-- 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></p>

<p> </p>

<p><!-- 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></p>

<p>

<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개

a
aaab
7년 전
13 줄 부터는 list.skin.php 에다 넣어주는게 맞는거죠,,? 안되네요ㅠㅠ
a
aaab
7년 전
$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]


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

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

w
7년 전

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

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

</p>

<p><td id='td_bg' style='width: ....</p>

<p>

jquery는 아래와 같습니다.

</p>

<p>$(function(){</p>

<p>$('#wr_13').change(function(){    

    if($(this).val() === 'ㄱㄱ')

    {

        $('#td_bg').css('background-color','red');

    }</p>

<p>});</p>

<p>});</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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

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

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

로그인