채택완료

배열 입력순서대로 출력....

Copy
var roma1 = {    '사이즈선택'        :    "",
                                '80'            :    "",
                                '90'            :    ""
                      };

 

    $(".sel_first").change(function() {
        var row = $(this).closest('tr'); 

        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>");
            });
    });

 

 

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

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

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

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

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

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

|

답변 2개 / 댓글 2개

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

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

2021-08-02 (월) 14:45:29

append()가 순서가 반대라면

prepend()를 써 보세요.

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

답변에 대한 댓글 2개

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

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