Javascript 使用下拉菜单绑定数据
我正在制作一个应用程序,其中有两个下拉列表和一个文本框。我想绑定JSON数据。我能够绑定下拉列表,即第一个下拉列表的更改,第二个下拉列表的值正在更改。问题是我无法用文本字段绑定数据。有人能帮我吗 供参考的代码是HTMLJavascript 使用下拉菜单绑定数据,javascript,knockout.js,knockout-2.0,knockout-validation,knockout-mvc,Javascript,Knockout.js,Knockout 2.0,Knockout Validation,Knockout Mvc,我正在制作一个应用程序,其中有两个下拉列表和一个文本框。我想绑定JSON数据。我能够绑定下拉列表,即第一个下拉列表的更改,第二个下拉列表的值正在更改。问题是我无法用文本字段绑定数据。有人能帮我吗 供参考的代码是HTML <select data-bind="options: financialYear,value: animalTypea, optionsText: 'description',optionsValue: 'value'"> </select> <s
<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" />
作为参考,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"
}
]
}
实际上,我试图在第一个下拉列表中显示文档请求,在第二个下拉列表中显示对账单和止赎模拟。现在,如果第二个下拉列表中填充了对账单,则文本框应显示对账单,如果是止赎模拟,则显示止赎模拟的硬拷贝。请参见,您的问题是由于将输入值绑定到计算值,而计算值应取决于视图模型的值,并且不应是可编辑的 我建议您使用文本绑定而不是值绑定,并使用span或div而不是输入,如中所述
如果您确实希望能够编辑输入节点中subject的值(您可能希望能够通过在此处键入不同的内容来更改选择),您可以使用可写的observable来告诉knockout,当您在此处键入值时,您想做些什么(非常好的解释)。我们确实可以帮助您。然而,我们首先需要一些东西。首先,我们需要您在问题Callum Linington中发布的代码,请检查详细信息,这可能有助于您在文本字段中不包含任何HTML。它是否有一个
值
绑定?一个小提琴或代码笔复制这个问题对您和我们都有帮助。首先,属性定义两次:animalTypea
和主题
。其次,computedsubject
返回一个数组,您试图将该数组绑定到单个文本框。
{
"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"
}
]
}
<span data-bind="text: subject"></span>