2016-05-02 5 views
1

Я не хочу печатать все города в моем коде local: ['LONDON', 'BERLIN', 'NEW YORK', 'MADRID']. я хотел бы делать запрос каждый раз, когда пользователь вводит письмо.x-editable typeahead ajax source

Могу ли я использовать ajax для того, чтобы использовать Auto complete с «x-editable typeahead»?

HTML:

<li><label class="control-label">CITY:</label> <span id="userCity" data- 
type="typeaheadjs" data-pk="cityID" data-name="users">PARIS</span></li> 

JS:

$('#userCity').editable({ 
    url: 'ajax/editUser.php', 
    typeahead: { 
     local: ['LONDON', 'BERLIN', 'NEW YORK', 'MADRID'] 
    } 
}); 

ответ

1

Только в случае, если это может помочь кому-то, выглядит как текущий 1.5.1 выпуск X-Editable не поддерживает передачу параметра dataset к конструктору typeahead. Существует запрос на растяжение, который реализует поддержку для этого документально описанного здесь https://github.com/vitalets/x-editable/pull/664.

Чтобы быстро обойти эту проблему, вам нужно будет обновить inputs-ext/typeaheadjs/typeaheadjs.js около линии 45 будет:

this.$input.typeahead.apply(this.$input, this.options.typeahead); 

Тогда вы можете создать экземпляр X-редактора, как:

var bloodhound = new Bloodhound({ 
    remote: '/url/to/json/output' 
    // any other bloodhound options here 
}); 

bloodhound.initialize(); 

$('#editable-field').editable({ 
    type: 'typeaheadjs', 
    typeahead: [{ 
     hint: true, 
     highlight: true 
     // any other typeahead options 
    }, { 
     source: bloodhound.ttAdapter() 
     // any other dataset options 
    }] 
});