【问题标题】:knockout.js not working when select list doesn't have optionsknockout.js not working when select list doesn't have options
【发布时间】:2012-05-02 05:20:20
【问题描述】:

我想我在 knockout.js 中发现了一个与 asp.net mvc 下拉列表相关的错误。当仅提供字符串列表时,MVC 不会在选择元素上呈现选项值。因此,Knockout.js 不会更新该值。如果我通过明确告诉它的属性来使用下面的第二个 html sn-p 它可以工作。如果选项值不可用,knockout.js 不应该读取内部 html 吗?

不更新

@Html.DropDownListFor(m => m.Grade, new SelectList((IEnumerable<string>)ViewData[Config.ViewData.Grades], Model.Grade), new { data_bind = "value: selectedGrade" })

更新

@Html.DropDownListFor(m => m.Grade, new SelectList(((IEnumerable<string>)ViewData[Config.ViewData.Grades]).Select(q => new { Text = q, Value = q }), "Value", "Text", Model.Grade), new { data_bind = "value: selectedGrade" })

第一个下拉菜单呈现

<select>
<option>K</option>
<option>2</option>
<option>3</option>
</option>

第二个下拉菜单呈现

<select>
<option value="K">K</option>
<option value="2">2</option>
<option value="3">3</option>
</option>

【问题讨论】:

  • 在您的不更新 sn-p 中,是否出现了下拉列表?我很惊讶它不会产生错误。我不认为你可以像在 Updates sn-p. 中那样帮助编译器的情况下将字符串列表转换为选择列表项列表。
  • 是的,但选项没有值。

标签: asp.net-mvc-3 drop-down-menu knockout.js


【解决方案1】:

我称之为错误。请在 Github 上打开一个问题:https://github.com/SteveSanderson/knockout/issues

【讨论】:

猜你喜欢
  • 2014-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 2017-12-13
相关资源
最近更新 更多