KnockoutJs Observable Arrays и Dropdownlists - PullRequest
4 голосов
/ 05 февраля 2012

Я новичок в KnockoutJs, и мне интересно, может ли кто-нибудь помочь с этим.

У меня есть view-модель, заполненная из контроллера Mvc3, привязанная к выпадающему меню, и это работает нормально.

У меня есть дополнительные данные, хранящиеся в observableArray на «платформах», и я хотел бы, чтобы эти данные отображались в текстовых полях, в зависимости от выбранного значения в раскрывающемся списке.

Вот мой код: -

<script type="text/javascript">
    $(document).ready(function () {
        var sampleSubmission = function () {
            this.selectedPlatform = ko.observable();
            this.platforms = ko.observableArray();

            this.showSearch = ko.observable(false);
            this.craftText = ko.observable();
            this.showSerialNumber = ko.observable(0);

            this.selectedPlatform.subscribe(function (platformId) {





            } .bind(this));
        };

        var sampleSubmissionViewModel = new sampleSubmission();
        ko.applyBindings(sampleSubmissionViewModel);

        //Load the platforms
        $.ajax({
            url: '@Url.Action("GetPlatforms", "Home")',
            type: 'GET',
            success: function (data) {
                sampleSubmissionViewModel.platforms(data);
            }
        });
    });  

</script>

У кого-нибудь есть идеи, как мне этого добиться?

Заранее спасибо.

1 Ответ

5 голосов
/ 05 февраля 2012

Вы можете привязать значение раскрывающегося списка к выбранной платформе, например:

<select data-bind="options: platforms, value: selectedPlatform, optionsText: 'name'"></select>

Я изменил ваш код и сделал несколько предположений о том, что вы хотели сделать, и создал образец. Вот скрипка: http://jsfiddle.net/johnpapa/DVXH7/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...