Knockout.js foreach绑定中的淘汰无线组只能单向工作

Knockout.js foreach绑定中的淘汰无线组只能单向工作,knockout.js,Knockout.js,我正在使用敲除JavaScript库v2.2.0rc 我想知道,是否有可能做到以下几点 我的模板看起来像这样 <script type="text/html" id="@Html.UniqueId("WorkflowRulesDisplay_template")"> <div data-bind ="foreach: items"> <fieldset> <legend> <span data-

我正在使用敲除JavaScript库v2.2.0rc

我想知道,是否有可能做到以下几点

我的模板看起来像这样

<script type="text/html" id="@Html.UniqueId("WorkflowRulesDisplay_template")">
<div data-bind ="foreach: items">
    <fieldset>
        <legend>
            <span data-bind="text: StName"/>
        </legend>
        <dl class="row">
            <dt class="label">
                <label>Member Type:</label>
            </dt>
            <dd class="field">
                <div><input type="radio" value = "User" data-bind="attr :{name:'@Html.UniqueId("wf_usr_radio_grp_")' + StId, checked: CheckedUsr}"/>User</div>
                <div><input type="radio" value = "Group" data-bind="attr :{name:'@Html.UniqueId("wf_usr_radio_grp_")' + StId, checked: CheckedGrp}" />Group</div>
            </dd>
        </dl>
        <dl class="row">
            <dt class="label">
                <label>Description:</label>
            </dt>
            <dd class="field">
                <textarea rows ="5" cols="20" class ="textbox simple-text" data-bind="value: Description"></textarea>
            </dd>
        </dl>
    </fieldset>
</div>
其中workflow.data('workflow\u list\u data')是

,所以在客户端,我有以下内容:[Object{StName=“lala”,StId=123,CheckedGrp=false,CheckedUsr=true,Description=“lala”}..{..]


一切都很顺利,但是无线电组。更改选定按钮不会更改viewmodel。我尝试了checked和attr值绑定-都是一样的。

问题是
CheckedUsr
CheckedGroup
不可见。
而不是

this._items = ko.observableArray(workflow.data('workflow_list_data'));
试一试


这应该从您的数据创建一个ObservalArray,属性设置为
ko。Observalable

是您的工作流列表\u数据作为JSON传递给客户端的吗?是的,它的JSON,它只是放在数据属性中,我不知道是否可以调用它的HTML属性,但我使用jQuery数据函数来读取它,所以,我想,它很清楚,我所说的。
data.Select(x => new { StName = x.StatusType != null ? x.StatusType.Name : string.Empty, StId = x.SuccessorStatusId, CheckedGrp = !x.GroupId.HasValue, CheckedUsr = !x.UserId.HasValue, x.UserId, x.GroupId, x.Description });
this._items = ko.observableArray(workflow.data('workflow_list_data'));
this._items = ko.mapping.fromJS(workflow.data);
// not sure what worflow.data is at this point?