Как получить значения из раскрывающегося списка в привязке нокаута MVC

Это hpw, я заполняю раскрывающийся список

$.ajax({
            url: "CheckinRelatedMember",
            type: "POST",
            data: { ClubId: localStorage.getItem("ClubId"), memacctno: localStorage.getItem("memacctno") },
            async: false,
            success: function (data) {
                var RelatedMembers;
                RelatedMembers = JSON.parse(data.CheckinRelatedMemberResult);
                self.RelMembers(RelatedMembers);

Как получить значение параметра из выпадающего списка. Я успешно привязал раскрывающийся список. но моя проблема в том, что я получаю значение из тега. значение параметра не может отображаться.

function FillCheckInRec() {
            submemacctno = document.getElementById("RelateMem")[0].value;

i need to pass selected option value to FillCheckInRec() method.
<p>
                    <label>
                        Select Member
                    </label>
                    <select id="RelateMem" class="input-medium" data-bind="options: RelMembers, optionsText:'Name',optionvalue:'AcctNo', value: 'AcctNo'"></select>
                </p>
But while i pass select value into FillCheckinRec() method, value comes like this (""). how to get AcctNo From dropdown list. Please Help Me!


person silambarasan vediappan    schedule 07.09.2015    source источник
comment
измените это значение: 'AcctNo' на значение: AcctNo . удалить кавычки и объявить AcctNo наблюдаемым   -  person super cool    schedule 07.09.2015
comment
Спасибо за ваш комментарий. я сталкиваюсь с той же проблемой.   -  person silambarasan vediappan    schedule 07.09.2015
comment
хорошо, есть несколько ошибок (optionsValue, а не optionsvalue) исправил их и отправил ответ, пожалуйста, проверьте   -  person super cool    schedule 07.09.2015
comment
попробуйте submemacctno = $(#RelateMem).val() для получения значения.   -  person Dandy    schedule 07.09.2015


Ответы (2)


Попробуйте что-нибудь вроде этого

просмотр:

<p>
    <label>Select Member</label>
    <select data-bind="options: RelMembers, optionsText:'Name',optionsValue:'AccNo', value:AcctNo"></select>
</p>
<hr/>
<b><label data-bind="text:AcctNo"></label></b>

Модель представления:

var ViewModel = function () {
    var self = this;
    self.RelMembers = ko.observableArray();
    self.AcctNo = ko.observable();

    $.ajax({
         url: '/echo/json/',
        type: "POST",
        data: {},
        success: function (data) {
            var RelatedMembers = [{
                'Name': 'One',
                    'AccNo': 1
            }, {
                'Name': 'Two',
                    'AccNo': 2
            }, {
                'Name': 'Three',
                    'AccNo': 3
            }]
            self.RelMembers(RelatedMembers);
        }
    });
};

ko.applyBindings(new ViewModel());

рабочий образец здесь

person super cool    schedule 07.09.2015
comment
В то время как я жестко кодирую, как приведенные выше коды, он отлично работает. но мой раскрывающийся список динамический, значение не может быть привязано. и это выглядит так: ‹значение опции›Имя‹/опция›, но мне нужно вот так ‹значение опции=Acctno (т.е. 1)›Имя‹/опция› - person silambarasan vediappan; 07.09.2015
comment
проверьте обновление одним примечанием большого пальца, если что-то работает статично, я полагаю, что оно тоже будет динамическим (в основном). дай мне знать - person super cool; 07.09.2015
comment
все еще сталкиваюсь с проблемой, поделитесь полученными данными здесь data.CheckinRelatedMemberResult . - person super cool; 07.09.2015
comment
Да, я получил данные в data.CheckinRelatedMemberResult. эти данные собраны в раскрывающемся списке. пока я получаю значение, не могу получить - person silambarasan vediappan; 07.09.2015
comment
пожалуйста, напишите, какие данные вы там получаете. проверьте мое обновление, я делаю вызов ajax для заполнения данных, но он работает нормально. - person super cool; 07.09.2015
comment
вы изменили optionsvalue на optionsValue ? пожалуйста, читайте комментарии правильно. - person super cool; 07.09.2015
comment
Да, я изменил его. - person silambarasan vediappan; 07.09.2015
comment
тогда должно работать. вы можете увидеть опубликованную рабочую скрипку. - person super cool; 07.09.2015

Ну, я решил эту проблему, вот мой код.

var submemacctno = $("#RelateMem").val();
 <select id="RelateMem" class="input-medium" data-bind="options: RelMembers, optionsText:'Name',optionsValue:'AcctNo', value:'AcctNo'"></select>
This is my HTML Code, Rest of everything are same. Thank You!

person silambarasan vediappan    schedule 07.09.2015
comment
$("#RelateMem").val() и AcctNo будут иметь одинаковое значение. не смешивайте jquery, когда ko легко справляется с работой - person super cool; 07.09.2015
comment
Да, теперь я прояснил об этом. Хорошо, MR.Super Cool, спасибо за вашу поддержку. - person silambarasan vediappan; 07.09.2015