如果, 有不明白的問題, 請先閱讀 30 分鐘掌握無刷新 Repeater.
示例代碼下載: http://zsharedcode.googlecode.com/files/JQueryElementDemo.rar
本文將詳細(xì)的講解 Repeater 控件的模板中如何處理控件, 目錄如下:
* 準(zhǔn)備
* html 元素
* 文本框
* 下拉框
* 多行文本框
* 復(fù)選框
* jQueryUI 插件
* jQueryUI 日期框
* jQueryUI 按鈕
* jQueryUI 自動(dòng)匹配
示例圖片:
準(zhǔn)備
請參照 http://code.google.com/p/zsharedcode/wiki/JQueryElementRepeaterDoc 中的準(zhǔn)備.
html 元素
可以在模板中使用 html 文本框或者下拉框, 并進(jìn)行賦值和讀取數(shù)據(jù).
文本框
文本框可以用于編輯文本字段, 也可以配合 je-datepicker, je-autocomplete 創(chuàng)建日期框, 自動(dòng)匹配.
復(fù)制代碼 代碼如下:
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í), 知道該文本框的值對應(yīng)了該字段.
下拉框
下拉框可用于一些枚舉值的編輯, 限制字段只能在指定的值中選擇.
復(fù)制代碼 代碼如下:
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} 需要用單引號括住.
多行文本框
多行文本框和上面所說的文本框不同的是, 多行文本框使用 textarea 元素.
textarea je-id="字段名>">綁定字段>/textarea>
多行文本框直接將字段綁定為 textarea 的內(nèi)容.
復(fù)選框
復(fù)選框經(jīng)常會(huì)用于編輯布爾類型的字段, 比如:
復(fù)制代碼 代碼如下:
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 日期框
日期框用于綁定編輯日期類型的字段:
復(fù)制代碼 代碼如下:
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è)屬性使用 ; 號分隔即可. 日期框的值綁定為字段 birthday, 不過日期使用了 jQuery.panzer.formatDate 函數(shù)來格式化日期的輸出, 而這里的格式化形式類似于 .NET.
jQueryUI 按鈕
按鈕通常用于執(zhí)行一些命令:
復(fù)制代碼 代碼如下:
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.
分別對應(yīng)了 開始編輯, 取消編輯, 更新, 新建, 刪除, 下一頁, 上一頁, 跳轉(zhuǎn)行為.
jQueryUI 自動(dòng)匹配
jQueryUI 的 autocomplete 插件可以在用戶輸入文字時(shí), 自動(dòng)匹配到相應(yīng)的條目:
復(fù)制代碼 代碼如下:
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/, 建議全屏觀看.
歡迎訪問 panzer 開源項(xiàng)目, http://zsharedcode.googlecode.com/ , 其中包含了 IEBrowser 控制 WebBrowser 執(zhí)行各種 js 和 jQuery 腳本以及錄制功能 和 jQueryUI 的 Asp.net 控件 JQueryElement.
您可能感興趣的文章:- datePicker——日期選擇控件(with jquery)
- 基于jQuery的日期選擇控件
- 基于jquery的web頁面日期格式化插件
- jquery 日期控件datepicker屬性詳細(xì)解析
- JQuery EasyUI 日期控件如何控制日期選擇區(qū)間
- jQuery實(shí)現(xiàn)簡單的日期輸入格式化控件