У меня есть два виджета JQuery, один является своего рода «основным» виджетом, другой можно считать дочерним. Ребенок управляет сбором определенных данных, которые требуются основным. Основное используется с AJAX-запросами. Итак, у основного есть набор опций, которые отправляются на сервер. Одна из этих опций также является опцией у ребенка.
Чтобы сделать это более понятным, у меня есть основной виджет, который имеет несколько вариантов. Затем он создает и добавляет дочерний виджет. Этот дочерний виджет имеет дополнительную опцию, которую необходимо заполнить в главном виджете перед отправкой запроса AJAX. Для того, чтобы сделать эту работу, я передаю ребенку: this.options.someArray
Это прекрасно работает, однако, когда в дочерний виджет вносятся изменения в этот массив, они никогда не возвращаются к основному виджету. Это означает, что запрос AJAX отправляет пустой массив в это место. Как я могу это исправить?
[Если это не стандартное поведение - я могу опубликовать пример кода]
Пример кода для основного виджета:
$.widget('be.deckEditor', {
options: {
deck: { name: "", id: 0, cards: [], tags: [] }
},
Код для создания дочернего виджета:
tagEditBox = $('<div>');
tagEditBox.tagEditor({tags:this.options.deck.tags});
Виджет _Инитетный код:
_init: function () {
this.options.tags = ['ace','two'];
},