Побережье: список теряет свой контент при обновлении - PullRequest
4 голосов
/ 13 февраля 2011

Это действительно просто. У меня <select>, и я хочу обновить внутреннее состояние на основе выбора. Не нужно ничего перерисовывать. Проблема в том, что после выбора и запроса AJAX список теряет свое содержимое.

renderContentOn: html
|value myId|
    html form with: [
        html select list: #('one' 'two' 'tree' 'four' 'five');
            id: (myId := html nextId);
            callback: [ :v | value := myId ];
            onChange: (
                html prototype updater
                    triggerFormElement: myId;
                    callback: [:h | value "do something with the value here"];
                    return: false
                ).
    ]

Ответы [ 2 ]

3 голосов
/ 13 февраля 2011

Для #updater требуется идентификатор DOM элемента для обновления.Если вы не ввели ID, по умолчанию используется this, элемент DOM, инициирующий событие.Таким образом, вы получите пустой список.Если вам не нужно что-то обновлять, вы должны использовать #request вместо #updater.Если вы хотите обновить что-то, вам нужно предоставить действительный идентификатор, используя #id:.

. Прочитайте раздел AJAX: Возвращаясь к серверу Приморской книги, он прекрасно объясняет AJAX.подробно.

1 голос
/ 13 февраля 2011

Поскольку средство обновления заменяет html элемента, для которого он был определен, содержимым, сгенерированным обратным вызовом, а ваш обратный вызов не генерирует никакого html, список, я думаю, пуст.

...