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

배열값을 input으로 뿌리고 싶습니다. 채택완료

밀랍 4년 전 조회 5,036

</p>

<p><select class="select_first" ><option>대분류</option></select>

<input class="sel_input"></input></p>

<p>

 

 

</p>

<p> </p>

<p>var aroma = ["상의","하의","양말","종이"];</p>

<p>var money1 = ["1,000,000","1,200,000","2,050,000","2,020,000"];</p>

<p> </p>

<p>

$(".select_first").change(function() {

    var row = $(this).closest('tr'); 

    var target = row.find('.sel_input'); 

    var i = "money"+$(this).find(':selected').index();

    target.empty();

    $.each(eval(i), function() {

        target.append("<option value='"+this+"'>"+this+"</option>");

    });

});</p>

<p>

 

 

두번째가 input아 아니라 select이면 값이 잘 들어가는데

target.append를 target.attr 고쳐서 input박스 안에 value값을 넣고 싶은데

어떻게 해야 할지를 모르겠네요...

 

 

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

답변 4개

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

셀렉트 옵션을 만드실때 옵션값을 아래처럼 금액으로 주시면.,

<option value="금액">상의</option>

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

답변에 대한 댓글 5개

밀랍
4년 전
셀렉트를 배열로 받아오기때문에....
배열안에 금액을 함께 넣을수 있나요?
메이드
4년 전
배열이 어떻게 구성되어 있는지 모르겠지만,
저라면 옵션을 구성할 배열을 만들때
var opt = ['상의'=>'10000','하의'=>'20000']
이런식으로 배열을 구성하고
$.each(opt, function(i,$i) {
target.append("<option value='"+$i+"'>"+i+"</option>");
});

이렇게 할것 같네요.
밀랍
4년 전
Select는 그렇게 받아오고, input은 어떻게 뿌려야 하나요?
메이드
4년 전
이렇게 구성하시면
<option value='10000'>상의</option>
<option value='20000'>하의</option>

옵션이 위와 같이 구성되므로
$(".select_first").change(function() {

var $this = $(this),
value = $this.val();
$this.next('.select_input').val(value);
});

이렇게 뿌려주시면 될 것 같네요.
밀랍
4년 전
감사합니다
복 받으세요

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

4년 전

단순히 select 박스에서 선택한 값을 .select_input 에 넣고 싶다는 말씀이신가요?

</p>

<pre>
<code>$(".select_first").change(function() {</code></pre>

<p>var $this = $(this),</p>

<p>     value = $this.val();</p>

<p>     $this.next('.select_input').val(value);</p>

<p><code>});</code></p>

<p>

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

답변에 대한 댓글 1개

밀랍
4년 전
var row = $(this).closest('tr');
var target = row.find('.sel_input');
var $this = $(this),
value = $this.val();
target.val(value);

이렇게 해서 현재 선택된 값은 input에 들어갑니다.
그런데 선택된 값이 아닌 선택된 값의 금액이 나오게 할려면 어떻게 해야 할까요?

상의를 선택했을때 상의가 아닌 1,000,000 이 나와야 합니다.

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

예서제이

</p>

<p>$(".select_first").change(function() {

    var row = $(this).closest('tr'); 

    var target = row.find('.sel_input'); 

    var i = "money"+$(this).find(':selected').index();

    var t = $(this).find(':selected').index();

    alert(t)

    target.empty();

    target.attr('value',i[t]);

});

 

이렇게 하니까... 배열값이 아니라 m, o... 이런식으로 배열의 제목값이 나와버리네요...

ㅠㅠ

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

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

<input value=""에 어떤 값이 들어가야 하나요?

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

답변에 대한 댓글 2개

밀랍
4년 전
금액이 들어가면 됩니다
밀랍
4년 전
상의일때 1,000,000 하의일때 1,200,000 이런식으로 들어가면 됩니다

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

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

로그인