Asp.net mvc 是否未选择一个收音机?
我改变了方法,现在,我正确地得到了选择的无线电值 问题:初始化时选择了我的一个收音机(首先加载,然后用户可以更改选择),但收音机不是第一次选择的,如何正确初始化“已选择”?Asp.net mvc 是否未选择一个收音机?,asp.net-mvc,knockout.js,Asp.net Mvc,Knockout.js,我改变了方法,现在,我正确地得到了选择的无线电值 问题:初始化时选择了我的一个收音机(首先加载,然后用户可以更改选择),但收音机不是第一次选择的,如何正确初始化“已选择”? @model Demo.Web.ViewModels.HomeViewModel @{ ViewBag.Title = "Two Page"; } @using (Html.BeginForm("Index", "Two", FormMethod.Post, new Dictionary<string, obje
@model Demo.Web.ViewModels.HomeViewModel
@{
ViewBag.Title = "Two Page";
}
@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);
});
@model Demo.Web.ViewModels.HomeViewModel
@{
ViewBag.Title=“两页”;
}
@使用(Html.BeginForm(“Index”,“Two”,FormMethod.Post,新字典{{“数据绑定”,“提交:onSubmit”}))
{
}
var viewModel={
项目:[
{“id”:1,“name”:“one”,“selected”:false},
{“id”:2,“name”:“two”,“selected”:true},
{“id”:3,“name”:“three”,“selected”:false}
],
选中:ko.observable(),
onSubmit:function(){
var x=this.selected();
}
};
$(函数(){
应用绑定(视图模型);
});
当绑定到类型为
无线电的输入时,选中的在Knockout中绑定将尝试将输入的值写入绑定到的任何值。这个想法是,你们所有的无线电设备都被绑定在同一个可观测对象上
比如:
var viewModel = {
items: [
{ id: 1, name: "one" },
{ id: 2, name: "two" },
{ id: 3, name: "three" }
],
selected: ko.observable()
};
绑定到UI,如:
<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>
样本:
因此,在您的情况下,您应该能够将收音机与$root.IsSelected
绑定,并使用它,而不是在项目之间循环
初始化它时,您可能希望查看是否选中了任何按钮,然后适当地填充根级别IsSelected
。如何初始化“IsSelected”在我的例子中,选择了一个收音机,用户可以编辑并更新它……我只需循环查看项目
,直到我找到一个为选择的为的为true
,并将顶级选择的设置为其id
。如果你需要密码,请告诉我。