找当前点击的checkbox是否选中
$(e).is(':checked')
找选中的checkbox 数量
$(".selectpeople:checked").length;
获取所有已选中的:
var checkedArr = [];
$("input[name='xxx']:checked").each(function() {
checkedArr.push($(this).val());
});
获取所有未选中的:
var notCheckedArr = [];
$("input[name='xxx']:not(:checked)").each(function() {
notCheckedArr.push($(this).val());
});
双循环绑定状态 所有的checkbox idlist 要绑定状态的checkbox idlist 双循环如果id匹配上就加状态
在控制器中双循环 把所有团的和当前内容满足的团id找出来放入able中
//共用库存特殊设置详情页面
public ActionResult PackageSpecialInventory()
{
string key = Request.QueryString["adminKey"];
int id =Convert.ToInt32(Request.QueryString["planid"]);
ViewBag.Key = key;
List<TourPackage> all = new PackageBLL().TourPackage_SpecialTour();
List<TourPackage_SpecialInventory> l = new PackageBLL().TourPackage_SpecialInventorybyid(id);
List<TourPackage> able = new List<TourPackage>();
foreach (var item in all)
{
foreach (var i in l)
{
foreach (var t in i.TourPackagePlanTour)
{
if (t.PackageId == item.Id)
{
TourPackage ab=new TourPackage();
ab.Id=item.Id;
able.Add(ab);
}
}
}
}
//查所有可选的团
ViewBag.tourpackages = all;
//根据planid查出详情信息
ViewBag.detaildata = l;
//要勾选的团
ViewBag.abletourpackages=able;
return View();
}
然后在页面中接收
@{
List<AA_MOD.PackageInfo.TourPackage> tourpackages = ViewBag.tourpackages;
List<AA_MOD.PackageInfo.TourPackage> abletourpackages = ViewBag.abletourpackages;
}
接收之后页面遍历的时候以遍历所有的为前提 查询id是否在满足的数据中这个id存在 存在即选中
@*所有可以选择的团遍历*@
<td id="PackageList">
@foreach (var item in tourpackages)
{
var mod = abletourpackages.Find(a => a.Id == item.Id);
<input type="checkbox" data-code="@item.PackageCode" id=@item.Id @if (mod != null) { <text> checked="checked" </text> } οnclick="Clike(this);" />@item.PackageCode
}
</td>
</tr>