체크시 값넣기

체크시 값넣기

QA

체크시 값넣기

본문

라디오버튼 클릭시 값이 검색폼에 input[name=stx]에 하나만 들어가는데

둘다 들어가게 하려면 어떻게해야하나요?

 

라디오버튼


<h3 class="multi_tit">지역</h3>        
<input type="checkbox" name="wr_1[]" class="wr_1" value='서울' <?php if(strpos($_GET['stx'], "서울") !== false) echo 'checked'; ?>> 서울 
<input type="checkbox" name="wr_1[]" class="wr_1" value='경기' <?php if(strpos($_GET['stx'], "경기") !== false) echo 'checked'; ?>> 경기
<input type="checkbox" name="wr_1[]" class="wr_1" value='인천' <?php if(strpos($_GET['stx'], "인천") !== false) echo 'checked'; ?>> 인천
 
<script>
$(document).ready(function(){
    $(".wr_1").change(function(){
            $(".wr_1").prop("checked"); {                
            var chk = $("input[name='wr_1[]']:checked").map(function() {
                return $(this).val();
            }).get().join(" ");
            $('input[name=stx]').attr('value',chk);
        }
    });
});
</script>
<h3 class="multi_tit">요일</h3>        
<input type="checkbox" name="wr_41[]" class="wr_41" value='월' <?php if(strpos($_GET['stx'], "월") !== false) echo 'checked'; ?>> 월 
        <input type="checkbox" name="wr_41[]" class="wr_41" value='화' <?php if(strpos($_GET['stx'], "화") !== false) echo 'checked'; ?>> 화
        <input type="checkbox" name="wr_41[]" class="wr_41" value='수' <?php if(strpos($_GET['stx'], "수") !== false) echo 'checked'; ?>> 수
        <input type="checkbox" name="wr_41[]" class="wr_41" value='목' <?php if(strpos($_GET['stx'], "목") !== false) echo 'checked'; ?>> 목
        <input type="checkbox" name="wr_41[]" class="wr_41" value='금' <?php if(strpos($_GET['stx'], "금") !== false) echo 'checked'; ?>> 금
        <input type="checkbox" name="wr_41[]" class="wr_41" value='토' <?php if(strpos($_GET['stx'], "토") !== false) echo 'checked'; ?>> 토
        <input type="checkbox" name="wr_41[]" class="wr_41" value='일' <?php if(strpos($_GET['stx'], "일") !== false) echo 'checked'; ?>> 일
<script>
$(document).ready(function(){
    $(".wr_41").change(function(){
            $(".wr_41").prop("checked"); {                
            var chk = $("input[name='wr_41[]']:checked").map(function() {
                return $(this).val();
            }).get().join(" ");
            $('input[name=stx]').attr('value',chk);
        }
    });
});
</script>
 

 

검색폼


<input name="stx"  class="stx" maxlength="15" itemname="검색어" value='<?=stripslashes($stx)?>' style="display:none;">

이 질문에 댓글 쓰기 :

답변 1

* .attr('value',chk); 보다는 .val(chk) 사용을 더 추천하겠습니다.

* 둘 다 들어가게 하려면 기존값을 유지하면서 추가하는 방법이 있습니다.

 

$('input[name=stx]').attr('value',chk);

->

var val =  $('input[name=stx]').val();

$('input[name=stx]').val(val + ' ' + chk);

 

답변 감사합니다. https://sir.kr/qa/322535?page=1&page=1&unanswered=0&s_tag=&cwin=&vsst=&vpage=1#c_322579
ㅎㅎ 다른질문과 일맥상통하는 질문내용이 돼버렸네요 ^^
이렇게 하니까 둘다 체크는 되는데 클릭할때마다 값이 중복으로 계속 들어가버립니다. ^^
한번만 스크립트를 넣어주면 될지 모르겠네요. 시도해보고 있습니다.

알려주신 방법으로 여러가지 시도를 해보니
다음과 같은 현상이 있습니다.
1. 하나 선택시 이상없음
예: 서울
2. 두개부터는 이상있음 한번 더 중복됩니다. 서울체크하고 경기 체크하면
예: 서울 서울 경기
3. 서울, 경기 체크하고 다시 경기 체크해제하면 서울만 한번 더 찍힙니다.
예:  서울 서울 경기 서울

이런식으로 찍힙니다. 다시 체크할때 기존 선택된 값들을 유지하는부분을 때문일까요??

얘기해주신 문제가 있어 로직을 새로 짜보면..

wr_1[] 라디오 버튼의 선택된 값 추출
wr_41[] 라디오 버턴의 선택된 값 추출
stx 텍스트박스에 반영

으로 하면 될 것 같습니다.

val1 =  $("input[name='wr_1[]']").val();
val2 =  $("input[name='wr_41[]']").val();

$('input[name=stx]').val(val1 + ' ' + val2);

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

회원로그인

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