2017-11-13 11 views
0

js를 사용하여 검색 기능을 사용하고 사용자가 검색을 기반으로 여러 항목을 선택할 수 있도록합니다. 내 문제는 데이터가 제대로 검색되고 있지만 데이터가 컨트롤에 의해 표시되지 않는 것입니다. 여기 내가 어떻게하는지. ajax 호출에서 데이터를 표시하지 않음을 선택하십시오.

제어 :

<label>Skills Required</label> 
<select id="skills-ddl" class="form-control" placeholder="Search skills.." multiple ></select> 

JS :

$(function() { 
    var $select = $('#skills-ddl').selectize({ 
     valueField: 'Id', 
     labelField: 'Name', 
     load: function (query, callback) { 
      $.ajax({ 
       url: '/ClientProjects/GetSkills?keyword=' + encodeURIComponent(query), 
       success: function (response) { console.log(response); $select.options = response; callback(response); } 
      }); 
     } 
    }); 

    var selectize = $select[0].selectize; 

}); 

여기에 데이터가 스크린 샷입니다 : enter image description here

내가 검색 텍스트 상자가 비어하게 백 스페이스를 눌러 이전 결과가 표시됩니다. enter image description here

편집 :

여기 내 응답 데이터 보이는 방법 같은 :

enter image description here

+0

'response' 객체와 비슷한 구조의 성공 또는 더미 데이터 안에있는'response' 객체를 게시하십시오. –

+0

내 게시물을 편집했습니다. – ljpv14

답변

0

나는 당신이 당신이 그것을 입력 할 때 드롭 다운에 표시하는 속성이있는 이해할 수없는 때문에되는 searchField 속성을 누락 생각합니다.

labelField: 'Name', 뒤에 searchField: 'Name'을 추가하면 필터 이름이 드롭 다운에 표시됩니다.

js 코드는 다음과 같습니다. 그것이 당신을 위해 일하기를 바란다

$(function() { 
    var $select = $('#skills-ddl').selectize({ 
     valueField: 'Id', 
     labelField: 'Name', 
     searchField: 'Name', 
     load: function (query, callback) { 
      $.ajax({ 
       url: '/ClientProjects/GetSkills?keyword=' + encodeURIComponent(query), 
       success: function (response) { console.log(response); $select.options = response; callback(response); } 
      }); 
     } 
    }); 

    var selectize = $select[0].selectize; 

}); 
+0

나는 그걸 놓쳤다 니 믿을 수가 없어. 고맙습니다! – ljpv14