私はsocialegineモジュールの開発にまったく慣れていません。1 つのフォームで複数のオートコンプリートを使用したい。複数のオートコンプリートを表示しても問題はありませんが、オートコンプリートからオプションを選択すると問題が発生します。
autocompet.js が idtoValues
を使用して autocomlte から選択されたオプションを表示することを見てきました。したがって、1 つのフォームにオートコンプリートが 1 つしかない場合はtoValues
、選択した値を表示するための要素を 1 つ持つことができます。しかし、複数のオートコンプリートがある場合、各オートコンプリートの選択されたアイテムを個別に表示する方法は? オートコンプリートに次のコードを使用する
en4.core.runonce.add(function() {
new Autocompleter.Request.JSON('to', '<?php echo $this->url(array('module' => 'localspots', 'controller' => 'lookup', 'action' => 'city'), 'default', true) ?>', {
'minLength': 2,
'delay' : 1,
'selectMode': 'pick',
'autocompleteType': 'message',
'multiple': false,
'className': 'message-autosuggest',
'filterSubset' : true,
'tokenFormat' : 'object',
'tokenValueKey' : 'label',
'injectChoice': function(token){
console.log(token.type);
var choice = new Element('li', {'class': 'autocompleter-choices', 'html': token.photo, 'id':token.label});
new Element('div', {'html': this.markQueryValue(token.label),'class': 'autocompleter-choice'}).inject(choice);
this.addChoiceEvents(choice).inject(this.choices);
choice.store('autocompleteChoice', token);
},
onPush : function(){
if( $('toValues').value.split(',').length >= maxRecipients ){
$('to').disabled = true;
$('to').setAttribute("class", "disabled");
}
},
});
});