Надежный/каскадный выбор автоформы метеора

как я могу реализовать 3 зависимых выбора с автоформой в метеоре? Вот пример того, что мне нужно для достижения http://www.ajaxray.com/Examples/depend.html Заранее спасибо за любую помощь


person Lobosan    schedule 15.05.2015    source источник


Ответы (2)


Вы можете добавить прослушиватель событий к своему выбору и, когда он изменится, обновить помощник выбора для следующего выбора (или всех выбранных), которые у вас есть в вашей форме. Это было бы похоже на следующий пример, но обновляйте объект «options» в зависимости от того, что было выбрано другим входом select.

http://autoform.meteor.com/select

person Tim C    schedule 15.05.2015
comment
Привет Тим ​​С, спасибо за ваше предложение. У вас есть пример? - person Lobosan; 19.05.2015

Вот как я это решил. Однако для третьего выбора, чтобы вернуть выбранное значение после обновления первого выбора, мне пришлось использовать JQuery. Это может помочь кому-то, кто нуждается в чем-то подобном. Но если есть лучший способ сделать это, пожалуйста, дайте мне знать.

Organizaciones = new Mongo.Collection('organizaciones');

Organizaciones.attachSchema(new SimpleSchema({ provincia: { type: String, label: 'Provincia', autoform: { type: 'select', firstOption: '', options: function () { return DPA.find({grupo: 'Provincia'}).map(function (dpa) { return {label: dpa.descripcion, value: dpa.codigo}; }); } } }, canton: { type: String, label: 'Cantón', autoform: { type: 'select', firstOption: '', options: function () { var codigoProvincia = AutoForm.getFieldValue('provincia'); var cantones = new RegExp('^' + codigoProvincia + '[\d]{2}$'); return DPA.find({codigo: {$regex: cantones}}).map(function (dpa) { return {label: dpa.descripcion, value: dpa.codigo}; }); } } }, parroquia: { type: String, label: 'Parroquia', autoform: { type: 'select', firstOption: '', options: function () { $('#provincia').change(function() { $('#parroquia option[value!=""]').remove(); }); var codigoCanton = AutoForm.getFieldValue('canton'); var parroquias = new RegExp('^' + codigoCanton + '[\d]{2}$'); return DPA.find({codigo: {$regex: parroquias}}).map(function (dpa) { return {label: dpa.descripcion, value: dpa.codigo}; }); } } } }));

person Lobosan    schedule 12.06.2015