如果, 有不明白的问题, 请先阅读 30 分钟掌握无刷新 Repeater.
示例代码下载: http://zsharedcode.googlecode.com/files/JQueryElementDemo.rar
本文将详细的讲解 Repeater 控件的模板中如何处理控件, 目录如下:
* 准备
* html 元素
* 文本框
* 下拉框
* 多行文本框
* 复选框
* jQueryUI 插件
* jQueryUI 日期框
* jQueryUI 按钮
* jQueryUI 自动匹配
示例图片:
准备
请参照 http://code.google.com/p/zsharedcode/wiki/JQueryElementRepeaterDoc 中的准备.
html 元素
可以在模板中使用 html 文本框或者下拉框, 并进行赋值和读取数据.
文本框
文本框可以用于编辑文本字段, 也可以配合 je-datepicker, je-autocomplete 创建日期框, 自动匹配.
复制代码 代码如下:
<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="#{<绑定字段>}" 来设置文本框的值, 而使用 je-id="<字段名>" 可以让 repeater 在更新或新建行时, 知道该文本框的值对应了该字段.
下拉框
下拉框可用于一些枚举值的编辑, 限制字段只能在指定的值中选择.
复制代码 代码如下:
<select je-id="<字段名>">
<option value="<枚举值1>" je-selected="<布尔值1, 可以是绑定字段或者一个表达式>">
<显示值1>
</option>
<option value="<枚举值2>" je-selected="<布尔值2, 可以是绑定字段或者一个表达式>">
<显示值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'">
计算机
</option>
<option value="gsgl" je-selected="'#{major}' == 'gsgl'">
工商管理
</option>
<option value="hy" je-selected="'#{major}' == 'hy'">
汉语
</option>
</select>
</EditItemTemplate>
</je:Repeater>
和文本框一样, 下拉框同样通过 je-id 绑定字段名, 在每一个 option 中通过 value 属性设置枚举值, 使用 je-selected 来设置一个返回布尔值的表达式, 如果表达式返回 true, 则该选项处于选中状态.
在上面的代码中, 由于 sex 字段是布尔类型的, 所以可以使用 #{sex} 这样的形式, #{sex,!#} 则是取 sex 字段的反. 也可以像这样 #{major,# == 'jsj'}, 表示 major 字段为 'jsj' 则选项处于选中状态. 还可以使用 '#{major}' == 'jsj' 来完成同样的效果, 但这里的 #{major} 需要用单引号括住.
多行文本框
多行文本框和上面所说的文本框不同的是, 多行文本框使用 textarea 元素.
<textarea je-id="<字段名>"><绑定字段></textarea>
多行文本框直接将字段绑定为 textarea 的内容.
复选框
复选框经常会用于编辑布尔类型的字段, 比如:
复制代码 代码如下:
<input je-id="<字段名>" type="checkbox"
je-checked="<布尔值, 可以是绑定字段或者一个表达式>" />
<je:Repeater ID="pictureRepeater" runat="server"
... >
<EditItemTemplate>
<input je-id="sex" type="checkbox" je-checked="#{sex}" />
</EditItemTemplate>
</je:Repeater>
上面的代码中, input 元素中设置 type 为 checkbox, 并通过 je-checked 绑定了布尔类型的 sex 字段. sex 为 true, 则复选框处于选中的状态.
jQueryUI 插件
在模板中使用 je-<jQueryUI 插件名>="<属性名n>=<属性值n>;" 的语法来创建 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 属性设置了日期框的日期格式, 可以设置更多的属性, 多个属性使用 ; 号分隔即可. 日期框的值绑定为字段 birthday, 不过日期使用了 jQuery.panzer.formatDate 函数来格式化日期的输出, 而这里的格式化形式类似于 .NET.
jQueryUI 按钮
按钮通常用于执行一些命令:
复制代码 代码如下:
<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 元素的内容. 而常用的行为有 beginedit, endedit, update, insert, remove, next, prev, goto.
分别对应了 开始编辑, 取消编辑, 更新, 新建, 删除, 下一页, 上一页, 跳转行为.
jQueryUI 自动匹配
jQueryUI 的 autocomplete 插件可以在用户输入文字时, 自动匹配到相应的条目:
复制代码 代码如下:
<input je-id="<字段名>" je-autocomplete="<属性名n>=<属性值n>;"
value="<当前值>" />
<je:Repeater ID="pictureRepeater" runat="server"
... >
<input je-id="major" je-autocomplete="source=['jsj','gsgl','hy']"
value="#{major}" />
</je:Repeater>
autocomplete 的 source 属性为用于匹配的条目的数组.
JQueryElement 是开源共享的代码, 可以在 http://code.google.com/p/zsharedcode/wiki/Download 页面下载 dll 或者是源代码.
实际过程演示: http://www.tudou.com/programs/view/jiuV1nkeWNo/, 建议全屏观看.
欢迎访问 panzer 开源项目, http://zsharedcode.googlecode.com/ , 其中包含了 IEBrowser 控制 WebBrowser 执行各种 js 和 jQuery 脚本以及录制功能 和 jQueryUI 的 Asp.net 控件 JQueryElement.
if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = false;
var cb_blogId = 83668;
var cb_entryId = 2222368;
var cb_blogApp = "zoyobar";
var cb_blogUserGuid = "33b6fe82-de38-e011-ac81-842b2b196315";
var cb_entryCreatedDate = '2011/10/24 11:36:00';
相关推荐:
什么是seo长尾词,什么是seo长尾词的概念 ,绿茶ai换脸杨超越
ChatGPT的破解版:AI世界的新突破,ai无禁忌
专业关键词助力SEO优化,让你的内容脱颖而出,东营响应式网站优化
ChatGPT故障:科技背后的秘密与应对策略,华为什么手机带ai功能
ChatGPT:引领智能对话新潮流,助力未来科技,ai写作免费议论文
Goanno跨级借鉴:推动创新与提升效率的秘密武器,崇明区智能ai艾灸费用
seo需要什么能力,seo需要哪些技术 ,ai长条弯曲
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
ChatGPT:智能对话开创新时代,ai做渐变直线
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
优化网站的秘诀:提高网站速度与用户体验,助力业务腾飞,旅游网站建设步骤
SEO自行:提升网站流量的秘密武器,邹平县个人网站建设建议
SEO优化关键技巧:提升网站排名的实战攻略,科大讯飞ai论文写作软件
什么是蜘蛛弛?揭秘这个SEO优化背后的神秘工具,南沙seo优化排名价格
SEO优化与SEM广告:提升品牌曝光与流量的双重利器,ai接回头
不利于seo是什么,不属于seo对网店推广的作用 ,ai渐变下载
ChatGPT-4中文免费破解版:无需付费,体验最强AI助手,ai写作生成器官方下载
SEO与SEM:谁才是提升网站流量的王者?,Ai中字体如何变形立体
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠
为什么seo对企业重要,seo对企业进行网络营销的价值 ,ai李沁换脸鲍鱼
SEO有话:如何用精准优化助力企业在线增长,食品微信营销推广
实用AI工具:提升效率、优化生活的科技利器
SEO获客的秘诀:如何通过搜索引擎优化提升客户获取能力,厦门seo搜索优化排名
SEO优化如何提升网站排名,驾驭搜索引擎流量,三亚网站推广方法
从零到一:网站历史的演变与未来趋势,肇庆市国外网站建设平台
ChatGPT免费版每天提问有次数限制吗?揭秘如何高效使用AI助手!,机甲ai手绘
AI网页版本:开启智能时代的新篇章,拼音标调ai
“新热度”:引领潮流的力量,如何趋势的脉搏,浙江通用网站建设特点
zblog站群,zblog怎么样 ,欧卡2ai汽车如何使用
产品经理seo是什么,产品经理seo是什么意思 ,ai政府公文写作 软件
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
ChatGPT为什么网址打不开?原因分析与解决方法,文档审核ai
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
什么是SEO可以自学吗,seo零基础可以自学吗 ,ai1紫
seo适合什么人做,哪种seo做得好 ,晋城ai论文写作免费
打造内容创作新高度:文章扩写AI的革命性优势
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版
seo网站关键字排名优化,网站seo关键词 ,运动ai
URL泄露:如何防止信息泄露带来的严重后果,抖音推广营销服务多少钱
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
SEO找词:如何精准找到高效关键词,提升排名和流量,河源网站优化平台
ChatGPT崩了?用户称打开是一片空白,真相竟然如此!,zzz*明星AI换脸
ChatGPT充值打不开?这几招教你轻松解决问题!,免费的ai写作绘图
ChatGPT出现错误503?你需要知道的解决方案和应对策略,ai拉伸字效
ChatGPT安装包Windows版-让智能助手触手可得,q和ai
SEO领先-如何借助SEO技术让您的网站脱颖而出,seo是黑客吗
SEO排位:如何通过精准策略提升网站排名,获得流量与转化,林海网络推广营销
AI通过算法和数据生成的作品:科技与艺术的跨越,带来无限创意可能,ai优化程序
SEO数量-如何提升你的网站排名与流量?,射阳seo优化五星服务