文章出處

     今天是六一兒童節,來談談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\"":"")) />

 

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


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()