EasyUI關於 numberbox,combobox,validatebox 的幾個小問題


  在最近的項目中,首次使用到了 網頁的一個布局框架——EasyUI,感覺這個框架特別牛,兼容性很不錯,頁面效果也挺不錯,可是在使用標題上三個控件過程中遇到幾個很奇特的問題,讓我頭疼不已,所以在此給廣大IT 愛好者分享一下,希望能幫助到你們。

問題一:numberbox 數字驗證框使用時,在兩個單選按鈕互相選擇時執行一個 輸入框(也就是這個numberbox)對象 禁用和啟用得操作,當選擇單選按鈕1時,啟用這個輸入框的驗證並且啟用該輸入框,當選擇單選按鈕2時,不啟用這個輸入框的驗證,並且禁用該輸入框, 圖中 紅色框(上) 很明顯是對id為value_2 這個輸入框執行選擇單選按鈕2時的操作,為什么要分開兩次寫呢?這就是問題的關鍵,如果我集中在一起寫,那么該控件可以被禁用,但是那個驗證的效果依然還在,(也就是說該控件呈現紅色警告狀態),試了一下把required:false 寫在disabled之前,問題依然還在,由此得出一個結論就是,EasyUI在處理禁用和啟用時,邏輯有些特殊,解決辦法就是圖中所示,分開處理

問題二:validatebox 表單驗證的禁用,在頁面邏輯處理時,難免會遇到 對輸入框的禁用和啟用得操作,而大多數也不會只使用numberbox 但是validatebox 又沒有禁用這個屬性,怎么辦呢?目前我只找到一個辦法就是用Jquery原始的辦法使用$("#id").attr("disabled","disabled");來處理,若同志們有其他辦法,希望大家給我留言,互相學習。

問題三:combobox 自定義組合框,數據綁定時的問題,前台頁面若我們要設置:

<select class="easyui-combobox" id="fuzhi" data-options="required:true,editable:false,panelHeight:'auto'," >

時,在綁定數據的時候一定要小心一個問題,先解釋一下圖中各部分的意思:params是參數化的傳遞的部分,類似於url?Key1=value1&Key2=value2...,順便說一下,該方式傳遞有兩點好處,好處一:參數結構清晰明了、好處二:該方式在IE下傳遞到后台處理程序(ashx)時 不會出現亂碼的現象,getdata方法 是封裝好的一個ajax請求;看EasyUi例子中會提到下拉框綁定數據時是使用該圖 if語句以下部分的方式,但是為何我要使用這種方式呢?這就是問題的關鍵,如果直接使用例子中的方式,前台用了class="easyui-combobox",后台又使用例子中的方法,會造成兩次請求,解決辦法就是 方法一:把前台的class刪掉,心細的讀者會發現 圖片中為何在綁定時使用的是data:dataCL而不是url:.......呢?這就是方法二。原理可以想清楚,即:該控件不在請求后台服務器,而是直接綁定的來自postdata請求而返回的結果,這樣,無論頁面上是否指定class,后台都不會出現多次請求的情況,強烈推薦方法二:因為方法二在數據請求返回后,為下拉框綁定默認值提供了方便:也就是圖中 value:dataCL[0].系統名稱 那部分。

  至此,謝謝大家這么耐心的嘮叨,第一次寫博客,也許語言描述的不是很清楚,望大家海涵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM