optionsText不适用于我的淘汰选择对象

时间:2014-05-05 15:56:15

标签: c# asp.net-mvc knockout-mvc

我在第一次淘汰赛中的工作经历并且学到了很多东西。我尝试做的是填充一个新对象并将其推入viewModel进行显示。

选择框(下拉框)正在填充,但是当我点击添加时,对象名称为空白。然后它发生在我身上,我需要收集两个字段来组装对象,所以我不确定我是否正确地进行了这个......

我的数据模型:

    function Colors(data) {
    this.ID = ko.observable(data.ID);
    this.ColorName = ko.observable(data.ColorName);
    this.Duration = ko.observable(data.Duration);
}

查看:

<table id="NewColor">
<tbody>
    <tr>
        <td>
            <select id="SelectColor" data-bind="options: AllColors, optionsText: 'ColorName', value: AllColorss.ID, optionsCaption: 'Select Color...'"></select>
            <input id="Duration" data-bind="value: Duration" />
            <button data-bind='click: addColor'>Add Color</button>
        </td>
    </tr>
</tbody>

输入ID =&#34;持续时间&#34;我没有正确地工作/填充,但我正在努力让模型数据更新....(这是我稍后会看到的一个副作用,以及那里的语法问题那里,这就是为什么)

要从按钮点击添加的脚本:

        self.addColor = function() { self.AddColors.push(new Color(NewColor )) };

当它运行时,下表中的ColorName为空白,但添加了一个空白条目。

显示/更新表:

<table>
<thead>
    <tr>
        <th padding: 10px; >Color</th>
        <th padding: 10px; >Duration</th>
    </tr>
</thead>
<tbody data-bind="foreach: AddColors">
    <tr>
        <td data-bind="text: ColorName"></td>
        <td data-bind="text: Duration"></td>
        <td>
            <a href='#' data-bind='click: $parent.removeLine'>Remove</a>
        </td>
    </tr>
</tbody>

我正在为新创建的对象添加对象到数组中的方法吗?我没有看到SelectedColor.SelectedText或类似的东西。如何访问选择下拉列表的文本属性?

1 个答案:

答案 0 :(得分:0)

我不确定我以前做过的事情是否会奏效但我退出了我所拥有的内容,并在添加该行之后在选择框中添加了这与教程正在做的事情相同。那很有效。我不能够感谢你,罗伯特。