zoukankan      html  css  js  c++  java
  • 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"":"")) />

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

  • 相关阅读:
    带密钥的sha1加密
    单调队列优化和二进制优化的多重背包模板
    HDU6424 Rikka with Time Complexity
    HDU6415 Rikka with Nash Equilibrium
    BZOJ1012: [JSOI2008]最大数maxnumber
    BZOJ2660: [Beijing wc2012]最多的方案
    读入优化和输出优化模板
    BZOJ1089: [SCOI2003]严格n元树
    2018 “百度之星”程序设计大赛
    JavaScript事件代理和委托(Delegation)
  • 原文地址:https://www.cnblogs.com/Sientuo/p/6927739.html
Copyright © 2011-2022 走看看