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