채택완료

옵션 value값에서 , 이전 값만 불러오기가 가능한가요?

Copy
<option value="15000,선택1" <? if($write['wr_11'] == "선택1") echo "selected"; ?> class="cham_program">선택1</option>

value 값에 15000,선택1 이렇게 있는데, 

15000의 값만 뽑아올 수 있나요?

consol.log 했을 때, 

15000,선택1 이 다뽑아져나와서요 ㅠ

답변 3개 / 댓글 12개

채택된 답변
+20 포인트

$('.wr_11').change(function() {
              var test = $(".wr_11").val().split(',')[0]
              console.log(test);
            });

답변에 대한 댓글 10개

아 잘해결됬네요 감사드립니다 ^^

응용으로 만약에

test에서 뽑아져나온 숫자를

다른옵션에
<option value="0,서브선택1" <? if($wr_14 == "서브선택1") echo "selected"; ?> selected>서브선택1</option>

여기에서 0,서브선택1 의 앞에 0 숫자에 대입하는것도 가능한가요?
var test = $('.wr_11 > option:selected').val().split(',')[0]
$('.wr_14 > option:selected').val( test + ',' + $('.wr_14 > option:selected').val().split(',')[1])
콘솔로 찍어서 확인해보니,
Uncaught TypeError: Cannot read property 'split' of undefined
at HTMLSelectElement.<anonymous> (write.php?bo_table=jinro_ex:1704)
at HTMLSelectElement.dispatch (jquery-1.8.3.min.js:2)
at HTMLSelectElement.u (jquery-1.8.3.min.js:2)
어디 코드안 어디이벤트에 집어넣으셨나요,
wr_14도 html태그보여주세요 .......
[code]
<select name='wr_14' class="wr_14" id="menu01" onchange="javascript:selCheck(1)" style="width:313;" class='ed' >
<option value="none" <? if($wr_14 == "none") echo "selected"; ?> selected>진행 차시를 선택해 주세요.</option>
<option value="0,서브선택1" <? if($wr_14 == "서브선택1") echo "selected";?> selected class="cham_price">서브선택1</option>
<option value="0,서브선택2" <? if($wr_14 == "서브선택2") echo "selected"; ?> selected>서브선택2</option>
</select>

<script>
$('.wr_14').val('<?=$wr_14?>');

$('.wr_11').change(function() {
var cham_price = $(".wr_11").val().split(',')[0]
var wr_14 = $('.wr_14 > option.cham_price:selected').val( cham_price + ',' + $('.wr_14 > option.cham_price:selected').val().split(',')[1])

console.log(wr_14);
});
</script>
[/code]

콘솔로 찍어서 확인해보니,
Uncaught TypeError: Cannot read property 'split' of undefined
at HTMLSelectElement.<anonymous> (write.php?bo_table=jinro_ex:1704)
at HTMLSelectElement.dispatch (jquery-1.8.3.min.js:2)
at HTMLSelectElement.u (jquery-1.8.3.min.js:2)

이런식으로 뜨는듯 하네요 ㅠ
cham_price는잘나오나요
네 콘솔로찍었을때 잘 나오더라구요.
혹시나해서 :seleced를 지워보았는데 되는데,,, 차이가 있나요?
$('.wr_11').change(function() {
var cham_price = $(".wr_11").val().split(',')[0]
var cham_price2 = $('.wr_14 > option:selected').val().split(',')[1];
var wr_14 = $('.wr_14 > option:selected').val( cham_price + ',' + cham_price2)

console.log(wr_14);
});
이렇게하세요.
cham_price 클래스는 하나밖에없던데요?
그리고, 현재 wr_14 옵션들이 다 selected 처리되게 소스를 짜셨네요...
<? if($wr_14 == "서브선택1") echo "selected";?> selected
이건 $wr_14 가 서브선택1일떄 selected 되는걸로 하신것같은데
뒤에 selected가 또붙어있어서
다 selected 처리되어있네요 소스잘못짜신듯요...
2021-07-13 (화) 12:19:22

질문 의도를 모르겠네요.

우선 $write 쓰기 에서 뽑길 원하시는지 아니면 $write 에서 뽑길 원하시는지

option 값은 직접 다이렉트로 값1,값2 들어가는지 아니면 어떤 변수에 의해 들어가는지 알아야 합니다.

그리고 option 값이 2개로 나누어져있는 이유가 있을까요?

애초 요청하신 내용으로만 답변드리자면

option value="15000,선택1"

값이 15000,선택1 2개니 당연히 $write['wr_1'] 엔 15000,선택1 가 들어가겠죠.

option value="15000"

이렇게 하시면 1개만 나옵니다~

js로 해달라는건가요 아님 php로 해달라는건가요?

js면 select 태그까지 html코드 보여주세요.

답변에 대한 댓글 2개

js로 진행하구요
[code]

<select name='wr_11' class="wr_11" id="menu01" onchange="javascript:selCheck(0)">
<option value="15000,선택1" <? if($write['wr_11'] == "선택1") echo "selected"; ?> class="cham_program">선택1</option>

<option value="12000,선택2" <? if($write['wr_11'] == "선택2") echo "selected"; ?> class="cham_program">선택2</option>

<option value="13000,선택3" <? if($write['wr_11'] == "선택3") echo "selected"; ?> class="cham_program">선택3</option>

<option value="31000,선택4" <? if($write['wr_11'] == "선택4") echo "selected"; ?> class="cham_program">선택4</option>

</select>

<script>
$('.wr_11').val('<?=$wr_11?>');
</script>

[/code]

코드는 이렇게 진행되어 있습니다.
js로 진행하구요
[code]

<select name='wr_11' class="wr_11" id="menu01" onchange="javascript:selCheck(0)">
<option value="15000,선택1" <? if($write['wr_11'] == "선택1") echo "selected"; ?> class="cham_program">선택1</option>

<option value="12000,선택2" <? if($write['wr_11'] == "선택2") echo "selected"; ?> class="cham_program">선택2</option>

<option value="13000,선택3" <? if($write['wr_11'] == "선택3") echo "selected"; ?> class="cham_program">선택3</option>

<option value="31000,선택4" <? if($write['wr_11'] == "선택4") echo "selected"; ?> class="cham_program">선택4</option>

</select>

<script>
$('.wr_11').val('<?=$wr_11?>');
</script>

[/code]

코드는 이렇게 진행되어 있습니다.

$('.wr_11').change(function() {
var test = $(".wr_11").val();
console.log(test);
});

이런식으로 해서는 15000,선택1이 잘 출력되는데, 15000 이부분만 출력하기를 원해서요.. ㅎ

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