0

Я создаю приложение, в котором есть два раскрывающихся списка и одно текстовое поле. Есть данные JSON, которые я хочу связывать. Я могу связать выпадающее меню, то есть при изменении при первом снижении значения второй снижается, меняется. Проблема в том, что я не могу привязывать данные к текстовому полю. Может ли кто-нибудь помочь мне?Данные привязки с раскрывающимся списком

Код для ссылки является HTML

<select data-bind="options: financialYear,value: animalTypea, optionsText: 'description',optionsValue: 'value'"> 
</select> 
<select data-bind="options: animalsForType,value: animalType, optionsText: 'description',optionsValue: 'value'"></select> 


<input type="text" data-bind="value: subject" /> 

и код JS является

response.invocationResult.customerRequestMasterDetailBeans.forEach(function (item1) { 
    if(item1.key == "") { 
    self.financialYear.push(item1); 
    } 
}); 

self.financialYear = ko.observableArray([]); 
self.animalTypea = ko.observable(); 

self.financialYeara = ko.observableArray([]); 
self.animalTypea = ko.observable(); 

self.animalType = ko.observable(); 

self.subject = ko.observable(); 

self.animalsForType = ko.computed(function() { 
    var selectedType = self.animalTypea(); 

    return !selectedType ? [] : response.invocationResult.customerRequestMasterDetailBeans.filter(function (data) { 
    return data.key == selectedType; 
    }); 
}); 

self.subject = ko.computed(function() { 
    var selectedType = self.animalType(); 
    return !selectedType ? [] : response.invocationResult.customerRequestMasterDetailBeans.filter(function (data) { 

    return data.subjectMessage == selectedType; 
    }); 

}); 

и обращения JSON является

{ 
    "customerRequestMasterDetailBeans": [ 
     { 
      "requestMessage": "", 
      "subjectMessage": "", 
      "description": "DocumentRequest", 
      "value": "DR", 
      "formatMessage": "", 
      "serviceCharge": "", 
      "key": "" 
     }, 
     { 
      "requestMessage": "AservicechargeofRs50.00perstatementrequestwillbeapplied.Doyouwanttoproceed?", 
      "subjectMessage": "HardcopyofStatementofAccount", 
      "description": "StatementofAccount", 
      "value": "SDR", 
      "formatMessage": "PleasesendmeahardcopyofupdatedStatementofAccountatmyregisteredaddress.", 
      "serviceCharge": "Rs50.00", 
      "key": "DR" 
     }, 
     { 
      "requestMessage": "AservicechargeofRs50.00perstatementrequestwillbeapplied.Doyouwanttoproceed?", 
      "subjectMessage": "HardcopyofForeclosureSimulation", 
      "description": "ForeclosureSimulation", 
      "value": "FCDR", 
      "formatMessage": "PleasesendmeahardcopyofupdatedForeclosureSimulationatmyregisteredaddress.", 
      "serviceCharge": "Rs50.00", 
      "key": "DR" 
     } 
    ] 
} 

На самом деле я пытаюсь отобразить запрос документов в первом выпадающем списке и выводе отчета о выкупе и обращении взыскания во втором падении вниз. Теперь, если вторая капля d собственный заполняется Заявление об учетной записи, в текстовом поле должно отображаться «Отчет о счете» и «Имитация выкупа», а затем «Жесткая копия симуляции выкупа».

+0

Мы могли бы помочь вам в самом деле. Однако сначала нам нужны некоторые вещи. Для начала нам нужен код, который вы пробовали в своем вопросе –

+0

Callum Linington, пожалуйста, проверьте подробности, может это может помочь – Dss

+0

Вы не указали HTML-код для текстового поля. Есть ли привязка «значение»? –

ответ

0

Из того, что я могу видеть, ваша проблема связана с обязательным значение на входе в вычисленной значением, которое должно зависеть от значений вида-модели и не должны быть доступны для редактирования.

Я хотел бы предложить вам использовать текст связывания вместо значения связывания и с помощью шкалы или DIV вместо ввода, как объяснено в http://knockoutjs.com/documentation/computedObservables.html.

<span data-bind="text: subject"></span> 

Если вы действительно хотите, чтобы иметь возможность изменить значение субъекта во входном узле, (вы можете захотеть, чтобы иметь возможность изменить выбор, набрав что-то другое здесь), вы можете использовать записываемой наблюдаемым сказать нокаутом, что вы хотите сделать, когда вводите там значение (отличное объяснение на http://knockoutjs.com/documentation/computed-writable.html).