Javascript 使用有效字段会打断输入框;淘汰赛

Javascript 使用有效字段会打断输入框;淘汰赛,javascript,html,knockout.js,Javascript,Html,Knockout.js,从 改变 <td><select data-bind="options: $root.availableMeals, value: meal, optionsText: 'mealName'"></select></td> 您的座位预定 旅客姓名来源 预订另一个座位用餐是可观察的,值绑定需要可观察才能将所选值放入其中,否则,选择不同的值后不会发生任何变化用餐是可观察的,值绑定需要可观察才能将所选值放入其中,否则,选择不同的值后没有任何变化。如

改变

<td><select data-bind="options: $root.availableMeals, value: meal, optionsText: 'mealName'"></select></td> 

您的座位预定
旅客姓名来源

预订另一个座位
用餐
是可观察的,值绑定需要可观察才能将所选值放入其中,否则,选择不同的值后不会发生任何变化

用餐
是可观察的,值绑定需要可观察才能将所选值放入其中,否则,选择不同的值后没有任何变化。如上所述,第一个问题是,您试图将下拉列表中的值分配到名称字段(这是写入的部分
value:name

如果要在下拉字段中显示不同的内容,则需要修改optionsText属性,类似于以下内容:

<td><select data-bind="options: $root.availableMeals, value: name, optionsText: 'desiredPropertyNameGoesHere'"></select></td>
如果要使用不同的HTML元素(如
)执行此操作,则需要使用以下绑定设置:

<td><span data-bind="text: name"></span></td>

请参阅,以显示您正在处理的示例中的差异


我希望这有助于澄清示例中的一些情况。

如上所述,第一个问题是您试图将下拉列表中的值分配到名称字段中(这是写入
value:name
的部分)

如果要在下拉字段中显示不同的内容,则需要修改optionsText属性,类似于以下内容:

<td><select data-bind="options: $root.availableMeals, value: name, optionsText: 'desiredPropertyNameGoesHere'"></select></td>
如果要使用不同的HTML元素(如
)执行此操作,则需要使用以下绑定设置:

<td><span data-bind="text: name"></span></td>

请参阅,以显示您正在处理的示例中的差异


我希望这有助于澄清示例中的一些情况。

中分解绑定:

  • 选项
    采用数组填充下拉列表
  • 选项text
    用于指定要显示为文本的项的属性
  • value
    是保存选定值的位置

    • 分解
      中的绑定:

      • 选项
        采用数组填充下拉列表
      • 选项text
        用于指定要显示为文本的项的属性
      • value
        是保存选定值的位置

      我不明白为什么它不显示名称。名称是不可见的,它是一个字符串。我不明白为什么它不显示名称。名称不可见,它是一个字符串