2015-01-20 7 views
0

selectize.js를 사용하여 사용자 입력을 기반으로 데이터베이스에서 텍스트 상자를 채우려고하지만 드롭 다운 내에 렌더링되지 않습니다. 데이터베이스에서 올바른 데이터를 가져오고 있지만 렌더링하는 방법을 모르겠습니다. 어쩌면 JSON이 제대로 형성되지 않았을까요?selectize가 내부 드롭 다운에 렌더링되지 않습니다.

var $select = $('#tags').selectize({ 
     delimiter: ',', 
     persist: false, 
     valueField: 'PKID', 
     labelField: 'TAG', 
     searchField: ['TAG'], 
     maxOptions: 10, 
     create: true, 
     render: { 
      option: function (item, escape) { 
       return '<div>' + escape(item.TAG) + '</div>'; 
      } 
     }, 
     load: function (query, callback) { 
      if (!query.length) return callback(); 
      $.ajax({ 
       url: '/components/nl', 
       type: 'POST', 
       dataType: 'json', 
       data: { 
        method: 'getTags', 
        tag: query, 
        maxresults: 10 
       }, 
       error: function() { 
        callback(); 
       }, 
       success: function (res) { 
        callback(res); 
       } 
      }); 
     } 
    }); 

여기에 입력 상자의 :

다음은 JS의

<input id="tags" class="selectize" type="text" name="tags" value="" placeholder="Tags separated by commas (optional)"> 

여기 사람이 "빨대"를 입력하기 시작하면 반환되는 무슨이다.

{"COLUMNS":["PKID","TAG"],"DATA":[[1475,"strawberries"]]} 

이것은 정확히 반환해야하지만 드롭 다운에서 "딸기"를 선택하지 않는 이유는 확실하지 않습니다. 나는 내가 쓴 것인 "짚"만 볼 수 있습니다.

[{"PKID":1475,"TAG":"strawberries"}] 

을하지만 그것을주고 있었다 :

+0

는 ColdFusion에서 파일이 코드 또는'##이'오타인가? 'render'에서'item.TAG'는 무엇이 될까요? 반환 된 데이터와 일치하지 않습니다. 콘솔에 오류가 있습니까? – charlietfl

+0

##은 coldfusion 이었지만 질문에서 제거하여 누군가를 혼동하지 않도록했습니다. 오류가 발생하지 않습니다. item.TAG는 "딸기"라는 값으로 간주됩니다. – user1431633

+0

'DATA'는 배열의 배열이고, 'TAG' 속성이 없으며 대신'item [1]'을 시도합니다. 비록 내가 selectize.js 모르겠 인정 – charlietfl

답변

0

문제 코드는 기대 하였다

{"COLUMNS":["PKID","TAG"],"DATA":[[1475,"strawberries"]]}