분할필드 selectbox 문의드립니다.
본문
여기저기 써칭해봤지만 실력이 부족한 탓인지 잘 안되서
고수님들의 의견 물어봅니다.
분할필드를 쓸 수 밖에 없는 상황이여서 최대한 분할필드로
할 수 있는 방법있으면 팁 좀 부탁드릴게요..!
여분필드1(wr_1) 분할
$wr_1 = "$coffee1|$coffee2|$coffee3";
셀렉트박스
<select name="" itemname="커피" required="" class="allcoffee" align="absmiddle">
<option name="coffee1" value="아메리카노">아메리카노</option>
<option name="coffee2" value="카페라떼">카페라떼</option>
<option name="coffee3" value="에스프레소">에스프레소</option>
</select>
첫번째 옵션을 선택하면 빈 셀렉트 네임값에 첫번째 옵션 네임값이 들어가고
두번째 옵션을 선택하면 빈 셀렉트 네임값에 두번째 옵션 네임값이 들어가고
이런식으로 해야 DB에 저장이 정상적으로 되더라구요..
선택한 옵션에 따라 네임값 넣는 방법 팁 좀 알려주세요..ㅠ
!-->!-->
답변 2
<?php
$coffee1 = $_REQUEST['coffee1'] ?? '';
$coffee2 = $_REQUEST['coffee2'] ?? '';
$coffee3 = $_REQUEST['coffee3'] ?? '';
$wr_1 = "$coffee1|$coffee2|$coffee3";
echo $wr_1;
?>
<form id="frm" method="post">
<select name="" itemname="커피" required="" class="allcoffee" align="absmiddle">
<option name="coffee1" value="아메리카노">아메리카노</option>
<option name="coffee2" value="카페라떼">카페라떼</option>
<option name="coffee3" value="에스프레소">에스프레소</option>
</select>
<input type="submit" />
</form>
<script src="//code.jquery.com/jquery-latest.min.js"></script>
<script>
function load_select_name() {
var el = $('select[itemname="커피"]');
var nm = el.find('option:selected').attr('name');
el.attr('name', nm);
}
$(function () {
$('#frm').submit(function () {
load_select_name();
return true;
});
});
</script>
구현방식이 조금 이상하네요..
사용자가 선택한 값을 저장하고 싶은건데 왜 네임값을 변경해야 하나요?
<select name="wr_1"class="form-control input-sm">
<option value="아메리카노"<?php echo get_selected('아메리카노', $write['wr_1']);?>>아메리카노</option>
<option value="카페라떼"<?php echo get_selected('카페라떼', $write['wr_1']);?>>카페라떼</option>
<option value="에스프레소"<?php echo get_selected('에스프레소', $write['wr_1']);?>>에스프레소</option>
</select>
이렇게만 해도 write 페이지에서 wr_1 여분필드 1에 사용자가 선택한 데이터가 들어갈텐데요..
최종적으로 어떤 데이터가 저장됬으면 하는지 설명이 필요합니다.
어떻게 해서든 난 꼭 여러 데이터를 한 필드에 넣어야 겠다.. 라고 생각하시면
셀렉트 박스 name 값을 wr_1_1,wr_1_2,wr_1_3 처럼 중복되지 않게 만드시고
보드 스킨있는 곳에 write_update.head.skin.php 를 만드시고
$wr_1 = $wr_1_1.'|'.$wr_1_2.'|'.$wr_1_3;
이런식으로 후가공 처리 하시면됩니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.