JQueryEasyUI框架下的combobox的取值和綁定的方法
最近做的項目涉及到JQueryEasyUI框架的使用,EasyUI是什么?網(wǎng)上解釋說它是來自W3C標準WEB前端專家DHTML精英俱樂部的簡單易用功能強大的輕量級WEB前端JavaScript框架!從這句話的理解來說,我認為它是一種JavaScript框架。
對于最近的使用中,給我的感覺就是,借用官網(wǎng)JqueryEasyUI上的一句話,EasyUI是基于jQuery用戶界面插件的集合,我把它理解成一種插件,不知道有沒有問題。而使用easyui,不需要寫很多的javascript代碼,只需在定義的用戶界面寫一些HTML標記,完成HTML5網(wǎng)頁的框架,所以說在這個框架里面是沒有服務器控件。沒有ruant=“server”。其功能強大,使用方便。
下面就說說EasyUI框架下的combobox,在使用的時候獲取值和綁定值得方法。
在前臺,我們通常這么寫:
<select class="easyui-combobox" id ="cmbName" name="name" ></select>
在牛腩新聞發(fā)布系統(tǒng)中和北大青鳥中都講到了控件中數(shù)據(jù)綁定的問題,那在這里能不能也采用那種方法?牛腩新聞發(fā)布系統(tǒng)和北大青鳥中講的控件都是服務器控件,但這里不是服務器控件,我們又該怎么綁定值和獲取值?
綁定值:(方法不止這一個)
可以將這個控件轉為服務器控件。加入runat=“server”,將其裝為服務器控件。剩下就同牛腩新聞發(fā)布系統(tǒng)和北大青鳥里面講的服務器控件一樣,綁定值。
<select class="easyui-combobox" id ="cmbName" runat="server" datatextfield ="AdminName" datavaluefield ="AdminID" name="name" style="width: 150px;" ></select>
后臺:
protected void Page_Load(object sender, EventArgs e) { noticeInfoBLL Bnotice = new noticeInfoBLL(); DataSet ds = new DataSet(); ds = Bnotice.GetAllList(); DataTable dt = ds.Tables[0]; cmbName.DataSource =dt; cmbName.DataTextField = "AdminName"; cmbName.DataValueField = "AdminID"; cmbName.DataBind(); }
綁定值之后,怎么獲取里面的值呢?
獲取值:
var adminname=$("#state").combobox("getText"); //這是獲取combobox中選擇的內容,例如上面綁定的“AdminName” var adminid=$("#state").combobox("getValue"); //這是獲取combobox選擇的值,例如上面綁定的“AdminID”
comboboxc綁定值出現(xiàn)重復:
在combobox綁定值的時候,我還遇到這么一個問題,在返回的數(shù)據(jù)中,有很多條,因為我是往combobox中綁定的名字,名字不能重復,但是我從數(shù)據(jù)庫中返回的數(shù)據(jù)卻是這樣的:
那么怎么解決這個問題呢?
有兩個解決方法:
第一:修改查詢語句,使用SQL SELECT DISTINCT 語句
第二:在后臺綁定數(shù)據(jù)時也可以像這樣綁定:
protected void Page_Load(object sender, EventArgs e) { //if (!Page.IsPostBack) //if (Session["userid"] != null && Session["postid"] != null) noticeInfoBLL Bnotice = new noticeInfoBLL(); DataSet ds = new DataSet(); ds = Bnotice.GetAllList(); DataTable dt = ds.Tables[0]; //去重復的AdminName和AdminID DataView dv=dt.DefaultView ; cmbName.DataSource = dv.ToTable(true, "AdminName","AdminId"); cmbName.DataTextField = "AdminName"; cmbName.DataValueField = "AdminID"; cmbName.DataBind(); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
使用jQuery的ajax功能實現(xiàn)的RSS Reader 代碼
Rss閱讀器挺不錯的。我覺得如果在igoogle或是dropthings這種形式的portal下來放很多RSS模塊顯示自己每天需要關注的信息那將會減少大家很多的打開瀏覽器和輸入網(wǎng)址的時間。2009-09-09JQuery制作的放大效果的popup對話框(未添加任何jquery plugin)分享
分享一個JQuery制作的放大效果的popup對話框(未添加任何jquery plugin)項目中可以根據(jù)自己的需求來寫css,感興趣的朋友可以了解下哈2013-04-04