在jquery repeater中添加設(shè)置日期,下拉,復(fù)選框等控件
示例代碼下載: http://zsharedcode.googlecode.com/files/JQueryElementDemo.rar
本文將詳細(xì)的講解 Repeater 控件的模板中如何處理控件, 目錄如下:
* 準(zhǔn)備
* html 元素
* 文本框
* 下拉框
* 多行文本框
* 復(fù)選框
* jQueryUI 插件
* jQueryUI 日期框
* jQueryUI 按鈕
* jQueryUI 自動(dòng)匹配
示例圖片:
準(zhǔn)備
請(qǐng)參照 http://code.google.com/p/zsharedcode/wiki/JQueryElementRepeaterDoc 中的準(zhǔn)備.
html 元素
可以在模板中使用 html 文本框或者下拉框, 并進(jìn)行賦值和讀取數(shù)據(jù).
文本框
文本框可以用于編輯文本字段, 也可以配合 je-datepicker, je-autocomplete 創(chuàng)建日期框, 自動(dòng)匹配.
<input je-id="<字段名>" type="text" value="<綁定字段>">
<je:Repeater ID="pictureRepeater" runat="server"
... >
<EditItemTemplate>
<input je-id="realname" type="text" value="#{realname}" />
</EditItemTemplate>
</je:Repeater>
通過在 input 中添加 value="#{<綁定字段>}" 來設(shè)置文本框的值, 而使用 je-id="<字段名>" 可以讓 repeater 在更新或新建行時(shí), 知道該文本框的值對(duì)應(yīng)了該字段.
下拉框
下拉框可用于一些枚舉值的編輯, 限制字段只能在指定的值中選擇.
<select je-id="<字段名>">
<option value="<枚舉值1>" je-selected="<布爾值1, 可以是綁定字段或者一個(gè)表達(dá)式>">
<顯示值1>
</option>
<option value="<枚舉值2>" je-selected="<布爾值2, 可以是綁定字段或者一個(gè)表達(dá)式>">
<顯示值2>
</option>
</select>
<je:Repeater ID="pictureRepeater" runat="server"
... >
<EditItemTemplate>
<select je-id="sex">
<option value="true" je-selected="#{sex}">男</option>
<option value="false" je-selected="#{sex,!#}">女</option>
</select>
<select je-id="major">
<option value="jsj" je-selected="'#{major}' == 'jsj'">
計(jì)算機(jī)
</option>
<option value="gsgl" je-selected="'#{major}' == 'gsgl'">
工商管理
</option>
<option value="hy" je-selected="'#{major}' == 'hy'">
漢語
</option>
</select>
</EditItemTemplate>
</je:Repeater>
和文本框一樣, 下拉框同樣通過 je-id 綁定字段名, 在每一個(gè) option 中通過 value 屬性設(shè)置枚舉值, 使用 je-selected 來設(shè)置一個(gè)返回布爾值的表達(dá)式, 如果表達(dá)式返回 true, 則該選項(xiàng)處于選中狀態(tài).
在上面的代碼中, 由于 sex 字段是布爾類型的, 所以可以使用 #{sex} 這樣的形式, #{sex,!#} 則是取 sex 字段的反. 也可以像這樣 #{major,# == 'jsj'}, 表示 major 字段為 'jsj' 則選項(xiàng)處于選中狀態(tài). 還可以使用 '#{major}' == 'jsj' 來完成同樣的效果, 但這里的 #{major} 需要用單引號(hào)括住.
多行文本框
多行文本框和上面所說的文本框不同的是, 多行文本框使用 textarea 元素.
<textarea je-id="<字段名>"><綁定字段></textarea>
多行文本框直接將字段綁定為 textarea 的內(nèi)容.
復(fù)選框
復(fù)選框經(jīng)常會(huì)用于編輯布爾類型的字段, 比如:
<input je-id="<字段名>" type="checkbox"
je-checked="<布爾值, 可以是綁定字段或者一個(gè)表達(dá)式>" />
<je:Repeater ID="pictureRepeater" runat="server"
... >
<EditItemTemplate>
<input je-id="sex" type="checkbox" je-checked="#{sex}" />
</EditItemTemplate>
</je:Repeater>
上面的代碼中, input 元素中設(shè)置 type 為 checkbox, 并通過 je-checked 綁定了布爾類型的 sex 字段. sex 為 true, 則復(fù)選框處于選中的狀態(tài).
jQueryUI 插件
在模板中使用 je-<jQueryUI 插件名>="<屬性名n>=<屬性值n>;" 的語法來創(chuàng)建 jQueryUI 插件, 其中的屬性名和屬性值可以參考 http://jqueryui.com.
jQueryUI 日期框
日期框用于綁定編輯日期類型的字段:
<input je-id="<字段名>" je-datepicker="<屬性名n>=<屬性值n>;"
type="text" value="<日期值>" />
<je:Repeater ID="pictureRepeater" runat="server"
... >
<EditItemTemplate>
<input je-id="birthday" je-datepicker="dateFormat='yy-mm-dd'"
type="text"
value="#{birthday,jQuery.panzer.formatDate(#,'yyyy-MM-dd')}" />
</EditItemTemplate>
</je:Repeater>
代碼中 dateFormat 屬性設(shè)置了日期框的日期格式, 可以設(shè)置更多的屬性, 多個(gè)屬性使用 ; 號(hào)分隔即可. 日期框的值綁定為字段 birthday, 不過日期使用了 jQuery.panzer.formatDate 函數(shù)來格式化日期的輸出, 而這里的格式化形式類似于 .NET.
jQueryUI 按鈕
按鈕通常用于執(zhí)行一些命令:
<span je-button="<屬性名n>=<屬性值n>;" je-onclick="<行為名>"></span>
<je:Repeater ID="pictureRepeater" runat="server"
... >
<span je-button="label='保存';" je-onclick="update"></span>
</je:Repeater>
可以使用 span 元素來作為按鈕, 也可以使用 input 元素. 在屬性中 label 作為按鈕的文本, 也可以將文本直接作為 span 元素的內(nèi)容. 而常用的行為有 beginedit, endedit, update, insert, remove, next, prev, goto.
分別對(duì)應(yīng)了 開始編輯, 取消編輯, 更新, 新建, 刪除, 下一頁, 上一頁, 跳轉(zhuǎn)行為.
jQueryUI 自動(dòng)匹配
jQueryUI 的 autocomplete 插件可以在用戶輸入文字時(shí), 自動(dòng)匹配到相應(yīng)的條目:
<input je-id="<字段名>" je-autocomplete="<屬性名n>=<屬性值n>;"
value="<當(dāng)前值>" />
<je:Repeater ID="pictureRepeater" runat="server"
... >
<input je-id="major" je-autocomplete="source=['jsj','gsgl','hy']"
value="#{major}" />
</je:Repeater>
autocomplete 的 source 屬性為用于匹配的條目的數(shù)組.
JQueryElement 是開源共享的代碼, 可以在 http://code.google.com/p/zsharedcode/wiki/Download 頁面下載 dll 或者是源代碼.
實(shí)際過程演示: http://www.tudou.com/programs/view/jiuV1nkeWNo/, 建議全屏觀看.
相關(guān)文章
在.NET Core類庫中使用EF Core遷移數(shù)據(jù)庫到SQL Server的方法
下面小編就為大家分享一篇在.NET Core類庫中使用EF Core遷移數(shù)據(jù)庫到SQL Server的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-12-12.Net?Core跨平臺(tái)應(yīng)用開發(fā)串口篇HelloArm
這篇文章介紹了.Net?Core跨平臺(tái)應(yīng)用開發(fā)串口篇HelloArm,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-01-01微信公眾平臺(tái)開發(fā)教程(二) 基本原理及消息接口總結(jié)
本篇文章主要介紹了微信公眾平臺(tái)開發(fā)教程(二) 基本原理及消息接口,具有一定的參考價(jià)值,有興趣的朋友可以了解一下。2016-12-12asp.net中C#獲取字符串中漢字的個(gè)數(shù)的具體實(shí)現(xiàn)方法
獲取字符串中漢字原理是判斷漢字編碼然后進(jìn)行判斷是漢字還是數(shù)字了,還有就是利用正則表達(dá)式,同樣是以漢字ascii為標(biāo)準(zhǔn)來獲取2014-02-02asp.net(c#)ref,out ,params的區(qū)別
C#中有三個(gè)關(guān)鍵字-ref,out ,params,雖然本人不喜歡這三個(gè)關(guān)鍵字,因?yàn)樗鼈円伤破茐拿嫦驅(qū)ο筇匦?。但是既然m$把融入在c#體系中,那么我們就來認(rèn)識(shí)一下參數(shù)修飾符ref,out ,params吧,還有它們的區(qū)別。2009-12-12ASP.NET中利用Segments取得URL的文件名的一種方法分享
在ASP.NET中,取得請(qǐng)求頁的URL地址有多種方式,其中有一種方式取得網(wǎng)頁文件名。2011-09-09silverlight用webclient大文件上傳的實(shí)例代碼
這篇文章介紹了silverlight用webclient大文件上傳的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10在asp.NET 中使用SMTP發(fā)送郵件的實(shí)現(xiàn)代碼
本文簡單介紹了SMTP協(xié)議(RFC2554)發(fā)送郵件的過程,并討論了在 .NET 中使用SMTP發(fā)送郵件由簡到繁的三種不同方案、各自可能遇到的問題及其解決辦法2011-05-05ASP.NET MVC5網(wǎng)站開發(fā)用戶修改資料和密碼(六)
這篇文章主要介紹了ASP.NET MVC5網(wǎng)站開發(fā)用戶修改資料和密碼,本文即將結(jié)束member區(qū)域的用戶部分,感興趣的小伙伴們可以參考一下2015-09-09