我希望从视图到控制器的数据只使用html表中的复选框选择的行。 我有这个ViewModel,请参阅下面的内容:
public class ConsignGroupsViewModel
{
public int SKU { get; set; }
public int consignmentid { get; set; }
public string ShortName { get; set; }
public string Supplier { get; set; }
public int SupplierId { get; set; }
public string PharmaName { get; set; }
}
查看:
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="sortable"
id="myTable1">
<thead>
<tr>
<th>Item Name</th>
<th>Manufacturer</th>
<th>Supplier</th>
<th>PO</th>
</tr>
</thead>
@foreach(var item in Model)
{
@foreach(var grp in item.Take(1))
{
<tr>
<td>@grp.ShortName @Html.HiddenFor(modelItem=>grp.SKU,"SKUs")</td>
<td>@Html.DisplayFor(modelItem => grp.PharmaName)</td>
<td>@Html.DisplayFor(modelItem => grp.Supplier)</td>
<td><input type ="checkbox" name=PO value="@grp.SupplierId"
title="@grp.SupplierId" class="checkbox chk" /></td>
</tr>
}
}
</table>
我已将视频分组并在视图中显示如上所示。我想选中复选框并在提交按钮上,我只需将所选行的值传递给视图。请帮助。
答案 0 :(得分:0)
尝试以下代码段,这将获取由#
分隔的所有选定值 var cBoxes = document.getElementsByName('PO');
var selectedVal = '';
for(var i=0;i<cBoxes.length;i++){
var cBox = cBoxes[i]
if(cBox.checked){
selectedVal =selectedVal+cBox.value+'#';
}
}
console.log(selectedVal);
答案 1 :(得分:0)
您可以在控制器中使用FormCollection并使用它访问此值。 假设你的控制器动作是
public ActionResult Action(FormCollection表单) { 形式[ “PO”]; //它将以逗号分隔格式为您提供已检查记录的供应商ID。 }