셀렉트값 변수 저장

셀렉트값 변수 저장

QA

셀렉트값 변수 저장

본문


<DIV class="form-group">
<LABEL class="col-lg-3 col-xs-4 control-label" for="">고객구분 </LABEL>                 
<DIV class="col-lg-9 col-xs-8 select_div_block_parent">
<SELECT name="customer" class="form-control " id="customer">
<OPTION value="0">개인</OPTION>
<OPTION value="1">법인</OPTION>
</SELECT>
</DIV>
</DIV>

위에서 선택되어진 값을 db에는 저장을 안하고 같은페이지에서 

변수로 임시 저장을 하려면 어떻게 해야 할까요?

 

변수값을 링크페이지로 가져 가려고 하는데요

변수에 저장되어 있는 값은 가져갈수 있는데

셀렉트 값을 가져가려면 어찌해야 하는지 모르겠어서요 ㅠㅠ

변수로 저장하면 가져 갈수 있겠는데 ㄷㄷ

 

이 질문에 댓글 쓰기 :

답변 2


<script>
$(function() {
    $("#button").on("click", function() {
        $(location).attr("href", "이동할 페이지.php?customer=" + $("#customer").val());
    });
});
</script>
<button type="button" id="btn-submit">submit</button>

이동할 페이지.php

echo $_GET['customer'];

답변 감사합니다... 그런데
기존에 아래 코드를 이용하여 변수를 가지고 페이지를 이동 했었는데요..
추가로 셀렉트 박스 값을 함께 가져가야 하는 상황이 생겨서요..
위 코드와 함께 적용 하려면 어떻게 해야 할까요?



	     <?php
                          $info3 = urlencode($it['111']);
                          $info4 = urlencode($it['it_1_subj']);
	                      $info5 = urlencode($it['it_2_subj']);
	
	?>
	  
		<a type="submit" id="btn-submit" class="btn btn-<?php echo $btn2;?> btn-block" href="/bbs/write.php?bo_table=Ask&sca=SK&info3=<?php echo $info3 ?>&info4=<?php echo $info4 ?>&info5=<?php echo $info5 ?>"><span class="hidden-xs">신청하러가기</span></a>

왕계란님 작동은 잘 되는데요


<script>	  
$(function() {
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&customer=" + $("#customer").val());
	});
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&dis_kind=" + $("#dis_kind").val());
	});
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&pay_kind=" + $("#pay_kind").val());
	});
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&join_type=" + $("#join_type").val());
	});
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&color=" + $("#color").val());
	});
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&charge_code=" + $("#charge_code").val());
	});
});
	  
</script>

이렇게 여러개를 하니 맨 마지막 꺼만 넘어 가네요 ㅠㅠ

<a type="submit" id="btn-submit" class="btn btn-<?php echo $btn2;?> btn-block" href="/bbs/write.php?bo_table=Ask&sca=SK&info3=<?php echo $info3 ?>&info4=<?php echo $info4 ?>&info5=<?php echo $info5 ?>"><span class="hidden-xs">신청하러가기</span></a>
이 코드에 대한 스크립트입니다.
그런데 지금 스크립트를 전부 따로 분리하셨는데 그렇게 하신 이유가 뭔지 궁금하네요.
dis_kind, pay_kind 등등
이런 것들은 어디서 온 건가요?
저것들이 있는 html 부분을 소스 보기로 해서 올려 보세요.

dis_kind, pay_kind 등등은 아래코드에서 처럼 셀렉트박스 이름입니다.


<DIV class="col-lg-7 form-horizontal product_option_box">
<DIV class="form-group">
<LABEL class="col-lg-3 col-xs-4 control-label" for="">고객구분	 </LABEL>				 
<DIV class="col-lg-9 col-xs-8 select_div_block_parent">
<SELECT name="customer" class="form-control " id="customer">
<OPTION value="0">개인</OPTION>
<OPTION value="1">법인</OPTION>
</SELECT></DIV></DIV>
<DIV class="form-group"><LABEL class="col-lg-3 col-xs-4 control-label" for="">할인유형</LABEL>				 
<DIV class="col-lg-9 col-xs-8 select_div_block_parent">
<SELECT name="dis_kind" class="form-control" id="dis_kind">
<OPTION value="0">공시지원금</OPTION>
<OPTION value="1">선택약정</OPTION>
</SELECT></DIV></DIV>
<DIV class="form-group support" >
<LABEL class="col-lg-3 col-xs-4 control-label" for="">추가지원금</LABEL>				 
<DIV class="col-lg-9 col-xs-8 select_div_block_parent">
<SELECT name="add_price" class="form-control" id="add_price"><OPTION value="0">0%</OPTION>
<OPTION value="15">15%</OPTION>
</SELECT></DIV></DIV>



처음에는 아래코드를 이용하여  링크페이지로 가져갈 변수들만 가져가서 사용했었는데요

     <?php
                      $info3 = urlencode($it['111']);
                      $info4 = urlencode($it['it_1_subj']);
                      $info5 = urlencode($it['it_2_subj']);

?>
  
	<a type="submit" id="btn-submit" class="btn btn-<?php echo $btn2;?> btn-block" href="/bbs/write.php?bo_table=Ask&sca=SK&info3=<?php echo $info3 ?>&info4=<?php echo $info4 ?>&info5=<?php echo $info5 ?>"><span class="hidden-xs">신청하러가기</span></a>



필요에 의해  셀렉트박스의 값도 가져가야 하는 상황이 생겼습니다.
그래서 알려 주신바대로 아래와 같이 이용하여 셀렉트박스의 값도 링크페이지로 가져갈수 있게 되었습니다...


<script>
$(function() {
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&customer=" + $("#customer").val());
	});
});
</script>

<?php
                      $info3 = urlencode($it['111']);
                      $info4 = urlencode($it['it_1_subj']);
                      $info5 = urlencode($it['it_2_subj']);

?>
  
	<a type="submit" id="btn-submit" class="btn btn-<?php echo $btn2;?> btn-block" href="/bbs/write.php?bo_table=Ask&sca=SK&info3=<?php echo $info3 ?>&info4=<?php echo $info4 ?>&info5=<?php echo $info5 ?>"><span class="hidden-xs">신청하러가기</span></a>


여기서 문제는 가져가야할 셀렉트값이 customer 1개가 아니라 15개 거든요
스크립트에 추가를 더 하면 맨 마지막 값만 넘어 가게 되더라구요
셀렉트값 여러개를 넘어가게 하려면 어떻게 해야 하는지요??


<script>
$(function() {
	var opts = [];
	$("select.opts").on("change", function() {
		opts.push($(this).attr("name") + "=" + $("option:selected", this).text());
	});

	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		$(location).attr("href", $(this).attr("href") + "&" + opts.join("&"));
	});
});
</script>

<select name="customer" class="form-control opts" id="customer">
각각 select class 부분에 위처럼 opts를 넣어 주세요.


$(function() {
	$("#btn-submit").on("click", function(e) {
		e.preventDefault();
		var opts = $("select.opts").map(function() {
			return $(this).attr("name") + "=" + $("option:selected", this).text();
		}).get().join("&");
		$(location).attr("href", $(this).attr("href") + "&" + opts);
	});
});

위에 거는 onchange 이벤트가 있어야 배열에 값을 담는 거라서 이게 좀 더 나을 것 같네요.

쿠키에 저장하시면될것 같네요.

과거 글이긴 한데 임시저장 개념 정도로 참고하시면 좋을것 같습니다.

http://opencode.co.kr/bbs/board.php?bo_table=gnu4_tips&wr_id=650

답변을 작성하시기 전에 로그인 해주세요.
전체 123,605 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT