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

배열 입력순서대로 출력.... 채택완료

밀랍 4년 전 조회 1,691

</p>

<p> var roma1 = {    '사이즈선택'        :    "",

                                '80'            :    "",

                                '90'            :    ""

                      };</p>

<p> </p>

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

        var row = $(this).closest('tr'); </p>

<p>        var target = row.find('.sel_sec'); 

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

        target.empty();

            $.each(eval("roma"+i), function(d,$x) {

                target.append("<option value='"+d+"' cost_value='"+$x+"'>"+d+"</option>");

            });

    });</p>

<p> </p>

<p> </p>

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

<p><select class="sel_sec" ></select></p>

<p> </p>

<p>

이렇게 입력했을때 다음 select에서 나오는 순서가

사이즈선택, 80, 90 이렇게 나오는게 아니라

80, 90, 사이즈선택 이렇게 나옵니다.

 

이 부분을 배열순서대로  " 사이즈선택, 80, 90 " 이렇게 나오게 할려면 어떻게 바꿔야 하나요?

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

답변 2개

채택된 답변
+20 포인트
ojbect인 경우
 var roma1 = { ...  };
 $.each()에서 순서가 보장되지 않는다고 합니다.

roma1을 array로 바꾸어서 해 보세요.

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

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

append()가 순서가 반대라면

prepend()를 써 보세요.

https://api.jquery.com/prepend/

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

답변에 대한 댓글 2개

밀랍
4년 전
한글과 숫자가 있어서인지 prepend로 해도 안되는군요.. ㅠㅠ
밀랍
4년 전
감사합니다.

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

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

로그인