2017-02-21 1 views
0

를 사용하여 다중 선택하는 나는 다음과 같은 HTML 다중 선택 코드가 있습니다추가] 옵션은 아약스

<select class="multi-select" multiple="multiple" id="multiSelectId"> 

을 그리고 아약스 사용하여 동적으로 요소를 추가하려고 : 그래서 이상한

function TestFunction(value) { 
    const selectMembers = $("#multiSelectId"); 
    selectMembers.empty(); 
    selectMembers.append('<option value="val">test1</option>'); 
    $.ajax({ 
    url: '@Url.Action("GetMemberById", "SystemAdmin")', 
    data: { 
     'memberId': value 
    }, 
    success: function(data) { 
     selectMembers.append('<option value="val">test2</option>'); 
     alert("test3"); 
    } 
    }); 
    selectMembers.multiSelect('refresh'); 
} 

을 문제는 test1과 test3이 정상적으로 작동하는 반면 test2는 전혀 작동하지 않으며 작동하지 않는 이유를 찾을 수 없다는 것입니다. 아무도 아이디어가 있니?

+0

selectMembers를 var로 선언하고 const로 선언하지 않으셨습니까? 어쩌면 그게 문제 야. –

+0

모든 것이 잘 작동한다. (http://codepen.io/vilaskumkar/pen/YNmxKG), 테스트를 위해 더미 API를 사용했다. –

답변

0

success 콜백 핸들러에서 새로 고침해야합니다. ajax()이 비동기임을 기억하십시오.

function TestFunction(value) { 
    const selectMembers = $("#multiSelectId"); 
    selectMembers.empty(); 
    selectMembers.append('<option value="val">test1</option>'); 
    $.ajax({ 
     url: '@Url.Action("GetMemberById", "SystemAdmin")', 
     data: { 
      'memberId': value 
     }, 
     success: function(data) { 
      selectMembers.append('<option value="val">test2</option>'); 
      selectMembers.multiSelect('refresh'); 
      alert("test3"); 
     } 
    }); 
} 
+0

Perfect! 그게 문제 였고 설명에도 감사드립니다! – Flox