收音机不是SELECTED,如何设置“选中”?

时间:2012-09-04 03:27:13

标签: asp.net-mvc knockout.js

初始化时应选择我的一个收音机(首先载入然后用户可以更改选择),但是第一次没有选择收音机,如何正确初始化“已选择”?

这里广播“两个”应该选为“已选择”为真?

@using (Html.BeginForm("Index", "Two", FormMethod.Post, new Dictionary<string, object> { { "data-bind", "submit:onSubmit" } }))
{

<table>
    <tr>
        <td>
            <div data-bind="foreach: items">
                <input type="radio" name="items" data-bind="attr: { value: id }, checked: $root.selected" />
                <span data-bind="text: name"></span>
            </div>
            <div data-bind="text: selected">
            </div>
        </td>
    </tr>
</table>

<input type="submit" name="send" value="Send" />
}

<script type="text/javascript">
var viewModel = {
    items: [
    { "id": 1, "name": "one", "selected": false  },
    { "id": 2, "name": "two", "selected": true },
    { "id": 3, "name": "three", "selected": false }
],
selected: ko.observable(),

    onSubmit: function(){

        var x = this.selected();

        }
    };

$(function() {
        ko.applyBindings(viewModel);
    });

</script>

1 个答案:

答案 0 :(得分:0)

您需要将最高级别selected可观察设置为值为id的{​​{1}}。

类似的东西:

true

示例:http://jsfiddle.net/rniemeyer/rbsZC/