Javascript 使用下拉菜单绑定数据

Javascript 使用下拉菜单绑定数据,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

我正在制作一个应用程序,其中有两个下拉列表和一个文本框。我想绑定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" />
作为参考,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
主题
。其次,computed
subject
返回一个数组,您试图将该数组绑定到单个文本框。
{
    "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>