Я использую MagicSuggest для пользовательских выпадающих меню, теперь у меня есть две выпадающие категория и подкатегория. Подкатегории должны быть заполнены на основе выбора категории. Когда я выбираю категорию, а затем подкатегорию, она будет работать впервые, но если я изменю категорию, подкатегории не изменятся и отобразят тот же список.
вот мой JQuery ..
var cat = $('#category').magicSuggest({
maxSelection:1,
data: site+'project/getCats/',
valueField: 'id',
displayField: 'title',
mode: 'remote',
renderer: function(data){
return '<div>' +
'<div class="title">' + data.title + '</div>' +
'</div>';
},
resultAsString: true,
selectionRenderer: function(data){
return '<div class="name">' + data.title + '</div>';
}
});
$(cat).bind('selectionchange', function(event, combo, selection){
cat_id = cat.getValue();
src = site+'project/getCats/'+cat_id;
var subcat = $('#sub_category').magicSuggest({
maxSelection:1,
data: src,
valueField: 'id',
displayField: 'title',
mode: 'remote',
renderer: function(data){
return '<div>' +
'<div class="title">' + data.title + '</div>' +
'</div>';
},
resultAsString: true,
selectionRenderer: function(data){
return '<div class="name">' + data.title + '</div>';
}
});
})
Так как никто не отвечает, я рискну ..
Взято с домашней страницы Magicsuggest http://nicolasbize.com/magicsuggest/doc.html.
Я думаю, что вам нужно использовать setData (), который устанавливает объекты, перечисленные в комбо.
var ms = $('#ms-setData').magicSuggest({});
ms.setData(['Paris', 'New York', 'Gotham']);
$(ms).on('selectionchange', function(){
alert(JSON.stringify(this.getSelection()));
this.setData([
{id:1, name:'Blue'},
{id:2, name:'Red'}
]);
});
Если вы перейдете по ссылке, которую я разместил выше, вы найдете рабочий пример. Сначала вы выбираете город, например Париж, а затем параметры меняются в цветах, поэтому вы можете выбрать синий.
Вы можете настроить свой код для использования setData в «sub_category» ..
Других решений пока нет …