MVC中视图界面设置Checkbox

     今天是六一儿童节,来谈谈Checkbox,前面的博客已经提到了关于单选、多选、反选、全选等问题的处理,这里作一下补充说明。

     全选/反选

复制代码
<td width="5%"><input type="checkbox" name="r1" class="chkPriKey" value="@item.PriKey" /></td>

function selectAll() { if ($("#CheckboxAll").is(":checked")) { $("[name=r1]:checkbox").prop("checked", true) } else { $("[name=r1]:checkbox").prop("checked", false) } }
复制代码

 中规中矩,没什么亮点,根据园友Vanteking 的评论,得到改进方法

  $("#SelectAll").click(function () {
      var _check = $(this).prop('checked')
      $("[name=r1]:checkbox").prop('checked', _check)
   })

进一步观察发现,所有复选框的checked属性值和 控制全选的复选框的checked的属性值时相同的,因此,再次更进为

  $("#SelectAll").click(function () {
      $("[name=r1]:checkbox").prop('checked', this.checked);
  })

 

既然点击了复选框,总是要对这些数据进行操作,假设是作删除操作,必然涉及到传值,选择 Each + push 的方法,上一篇作出过说明,这里就不再赘述。

如果遇到是这样一种情况,后台将一个bit值传到前台,视图根据其 bool值 来显示Checkbox 是否勾选,该选框不可编辑

(PS: bit类型的值,创建实体类时,对应的是bool值,在ADO.net操作时,当做bool值来处理,存储数据库时会自动转为bit类型)

其实,对于Checkbox标签,只要有checked 属性,即使赋值为 " ", 界面显示时,仍为勾选状态

那么,思路: bool值为true ,显示checked属性,反之,不显示

理想实现: 三目运算符

<input type="checkbox" @(Html.Raw(item.FunctAuthFlag==true?"checked=\"checked\"":"")) />

对于不可编辑 添加一属性设置:disabled="disabled" 即可

<input type="checkbox" disabled="disabled" @(Html.Raw(item.FunctAuthFlag==true?"checked=\"checked\"":"")) />

 

---- 市人皆大笑,举手揶揄之

posted @   郎中令  阅读(1865)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示