2

프로젝트 관리자를 만들려고합니다. 하나의 프로젝트에 더 많은 사람들을 추가 할 수 있습니다. 그래서 Bootstrap Tags Input을 사용하고 examples : Typeahead, Object 태그를 따르십시오.부트 스트랩 태그 입력이 로컬 데이터에서 작동하지 않습니다.

원격 데이터 대신 숨겨진 입력에 json 문자열 저장소가 있습니다. 그래서, 난과 예 수정 :

var users = new Bloodhound({ 
    initialize: false, 
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'), 
    queryTokenizer: Bloodhound.tokenizers.whitespace, 
    local: [{id:1,fullname:'aaa'},{id:2,fullname:'bbb'}], 
    identify: function(obj) { return obj.id; } 
    }); 
    var promise = users.initialize(); 
    promise.done(function(){ 
    var elt = $('#project_memebers'); 
    elt.tagsinput({ 
     itemValue: 'id', 
     itemText: 'fullname', 
     typeaheadjs: { 
     name: 'users', 
     displayKey: 'fullname', 
     valueKey: 'id', 
     source: users.ttAdapter() 
     } 
    }); 
    }) 
    .fail(function() { console.log('Something goes wrong!')}); 

을하지만 "AAA"또는 "BBB"를 입력 할 때 아무 반응이 없습니다. 태그 없음, 힌트 없음, 오류 출력 없음!

어떻게 자동 완성 및 태그를 만들 수 있습니까?

+0

너무 슬퍼! 아무도 몰라? – Davuz

답변

0

datumTokenizer : Bloodhound.tokenizers.obj.whitespace ('전체 이름'),

+0

편집을 사용하여 질문에 답하는 이유에 대한 설명을 표시 할 수 있습니다. 코드 전용 답변은 SO에서 권장하지 않으며, 일반적으로 적어도 설명이 필요합니다. – paisanco

+0

@ pabo74 - 이런 종류의 간결한 응답은 코멘트에서 간신히 괜찮습니다.하지만 답변에서 OP 코드의 잘못된 점과 해결 방법을 설명해야합니다. –

+0

제안 목록을 표시하려면 Bloodhound에 제공 될 키를 제공해야합니다. 그래서'Bloodhound.tokenizers.obj.whitespace ('text')'데이터 객체에'text' 속성이 없으므로'fullname'으로 바꾸어야하기 때문에 잘못되었습니다. ('id'로 바꾸면 Bloodhound는'id'의 목록을 보여줍니다) – TomNg