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\"":"")) />

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM