【问题标题】:How can I get the text of a selected item from a Knockout Observable?如何从 Knockout Observable 中获取所选项目的文本?
【发布时间】:2012-06-22 04:03:46
【问题描述】:

我可以看到所有用于获取所选项目的文本值的 Knockout-ish 方式,但前提是它是由其中一个或两个生成的:

  1. 没有值属性
  2. 或者您为“选项”提供数组

但是,我自己并没有加载选项数组,我只是想观察下拉列表中的选定项目并检查文本表示。不幸的是,在这种情况下,返回的值始终是所选项目的“值”属性。

我必须对 observable 执行以下操作:

this.selectedText = $("#myId: option:selected).text();

我确信有一种方法可以让它与 Knockout 保持一致。

我只想获取一个选定项的文本值,其中我没有提供选择列表的数组并且选择列表保留值属性。

  <option value="2129">SomeText</option>

编辑

为了更具体地理解我为什么要这样做 - 选择项的值是一个 ID - 如果进行了特定选择,我需要能够触发一段代码可见。不幸的是,我无法绑定到选择(值)的 id,因为它可能与开发不同,但文本将始终相同。

【问题讨论】:

  • 这不起作用的原因是:该列表中的项目是数据,因此属于视图模型(或者应该从模型中获取,如有必要),而不是视图。
  • 我认为代码中的“特殊”值在不同环境中应该是相同的。当我构建系统时,我在代码中作为逻辑确定的一部分使用的任何值都存储在一个常量中,并且在所有环境中都是一致的。
  • 已回复here

标签: javascript knockout.js


【解决方案1】:

我认为我们必须绑定到可观察数组以使下拉列表可观察到的文档在淘汰赛中也不会列出其他内容

http://knockoutjs.com/documentation/options-binding.html

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    • 2014-11-26
    相关资源
    最近更新 更多