`
夜枫舞影
  • 浏览: 50584 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jquery新手练习--------点table,form也跟着变

阅读更多
新手实战篇,高手跳过啦。

近段时间一直在寻找一个小巧玲珑的js框架,jquery完全符合。闲着没事,做了个 jquery的新手练习。 在网站的一些小功能上,比如修改 blog友情连接 ,修改 文章收藏。这些内容完全可以在一个表格里全部显示,一种常见古老的办法,在这个表格的最后面加 “编辑” 2个字,编辑的远程地址附带了此条记录的id的链接(修改新闻那些数据量比较大的,当然只有这样咯)。 通过jquery 可以实现一个稍微舒爽点的办法. 首先表格将内容全部显示,点击某一行 在提交表单内就出现此行数据。 那整个过程就简单多了,首先选择一行数据,然后修改再提交。 当然这个方法只可以一次提交一条数据,比起一个表格放2个div一个保存一个显示 所进行的批量是稍微逊点点,但是我们只要几句代码就可以啦。 废话那么多,那看看jquery怎么样实现它。


全部js代码,由于mouseover ,mouseout,click是针对同一类对象,所以可以直接在后面加个点号不用分开写就可以了。
 $(function(){ $(".fillform tr").mouseover(function(){ $(this).addClass("over");}).mouseout(function(){ $(this).removeClass("over");}).click(function(){ $(this).find("td").each(function(i){ $("form>input").eq(i).val($(this).text()); } );}) $(".fillform tr:even").addClass("alt"); }); 



这几句就是跟jquery给的例子了,当鼠标移过带有fillform样式的table中的tr标签时增加一个样式,移开时候再增加一个样式。
 $(".fillform tr").mouseover(function(){ $(this).addClass("over");}).mouseout(function(){ $(this).removeClass("over");}).



这几句就是关键啦

click(function(){ $(this).find("td").each(function(i){ $("form>input").eq(i).val($(this).text()); } );}) 


$(".fillform tr") 产生一个点击事件

$(this).find("td").each(function(i){  就寻找属于产生这个事件的tr(你怎么知道是tr?这说啦,$("fillform tr"))  并以"td"元素作为条件查找,并再调用each方法遍历经过塞选出来的元素。each可以带一个参数,此参数就是当前元素的顺序号。


form>input 就是选择 form下面的input标签,调用eq方法比较,即对应的第一个input对应表格第一列
$("form>input").eq(i).val($(this).text());


最后这句也是很多例子的啦,表格双行换一个样式
$(".fillform tr:even").addClass("alt"); 



挺简单吧,就是这样一个效果,只要几句代码,我想想我以前的做法还真不是滋味。

当然这个例子本身就不是很完善,只是写来熟悉一下jquery的而已,如果要换成js去写的话parentNode.parentNode.cells[1] 这些肯定看得眼花缭乱了。

例子我传上来了。。。很新手的练习,高手别笑哦。

ps:最主要是看见ext有个例子是grid跟form联动的,所以也就想拿传统的table跟form也来联动一把。
分享到:
评论
3 楼 afcn0 2008-01-06  
可选择很多,红的也很多,jQ已经稳定了,但是Prototype正在不断创新中
2 楼 夜枫舞影 2008-01-06  
afcn0 写道
很多人就是喜欢.click .mouseout .mouseover这样.下去,再来个.each,看起来很不爽,所以我认为jQ不能说是很好OO,更习惯一般方式,这么多.看着很郁闷

毕竟他是js框架,
现在又没有更好吃的“苹果”,我也只能找最红的吃咯。
不管怎么样比没得吃好吧。
1 楼 afcn0 2008-01-06  
很多人就是喜欢.click .mouseout .mouseover这样.下去,再来个.each,看起来很不爽,所以我认为jQ不能说是很好OO,更习惯一般方式,这么多.看着很郁闷

相关推荐

    jquery-ui-1.8.16

    jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-ui-1.8.16jquery-...

    jquery插件jquery-ui-1.8.2.custom.min.js

    《jQuery UI与jQuery插件深度解析——以jquery-ui-1.8.2.custom.min.js为例》 在Web开发领域,jQuery库以其简洁易用的API和强大的功能深受开发者喜爱。而jQuery UI作为jQuery的一个扩展,提供了丰富的用户界面组件...

    jquery-migrate-1.2.1.js文件

    `jquery-migrate-1.2.1.js` 文件是jQuery的一个辅助工具,它主要用于帮助开发者解决在升级到较新版本的jQuery时可能遇到的向后兼容性问题。这个插件的主要目的是为了警告开发者那些在新版本中已经被废弃或者更改的...

    jquery-ui-1.8.16.custom.min.js/jquery-ui-1.8.16.custom.css

    这个压缩包包含两个关键文件:`jquery-ui-1.8.16.custom.min.js` 和 `jquery-ui-1.8.16.custom.css`,这些都是jQuery UI的特定版本,即1.8.16。这个版本在当时是一个广泛使用的稳定版本,提供了丰富的功能和组件。 ...

    jquery插件jquery-ui-1.8.18.custom.min.js及css文件

    在本篇文章中,我们将深入探讨其自定义版本 `jquery-ui-1.8.18.custom.min.js` 和相关的 CSS 文件,以理解它们如何协同工作,为网页带来强大的功能和美观的界面。 首先,`jquery-ui-1.8.18.custom.min.js` 是 ...

    jquery.datepicker-zh-CN.js

    <script src="./public/js/jquery-ui-1.10.3.min.js"> <script src="./public/js/jquery.datepicker-zh-CN.js"></script> <link href="./public/css/jqueryui/jquery-ui-1.10.3.min.css" rel="stylesheet"> $( "#...

    插件jquery-ui-timepicker-addon.js

    jquery插件jquery-ui-timepicker-addon.j

    jquery-ui-datepicker中文版

    jquery-ui-日期框扩展成时间框 jquery-ui时间框 基于别人的代码进行修改 jquery-ui-1.8.16.custom.css文件末尾加入以下代码 .ui-timepicker-div .ui-widget-header{ margin-bottom: 8px; } .ui-timepicker-div dl{ ...

    bootstrap-table实现 行拖拽 插件jquery.tablednd.js bootstrap-table-reorder-rows.js

    bootstrap-table实现 行拖拽 插件 jquery.tablednd.js bootstrap-table-reorder-rows.js bootstrap-table-reorder-rows.css

    jquery-ui-1.10.2.custom

    这使得 `jquery-ui-1.10.2.custom` 在保持稳定性和兼容性的同时,也具备了较高的运行效率。 在实际应用中,开发者可以根据需求选择包含哪些组件,通过删除不必要的模块来减小文件大小,从而优化页面加载速度。`...

    jquery.editable-select

    下面我们将详细探讨 `jquery.editable-select` 插件的一些关键知识点: 1. **jQuery 基础**:首先,理解 jQuery 是使用此插件的前提。jQuery 是一个广泛使用的 JavaScript 库,简化了 DOM 操作、事件处理、动画以及...

    jquery-easyui-EDT-1.5.2-build1

    jquery-easyui-EDT-1.5.2-build1 jquery-easyui-EDT-1.5.2-build1

    jQuery版本迁移辅助插件jquery-migrate-1.2.1.min.js

    jQuery版本迁移辅助插件,如果您使用的低版本jQuery改为高版本后出现错误,可以试试这个插件。用来检测和恢复在jQuery1.9版本中已删除或已过时的API。jquery-migrate-1.2.1.js,jquery-migrate-1.2.1.min.js

    jquery-1.6.4-vsdoc.js

    压缩包内包含jquery-1.6.4.js jquery-1.6.4.min.js jquery-1.6.4-vsdoc.js 。 【推荐用法】 1、将jquery-1.6.4-vsdoc.js与jquery-1.6.4.js放在同一目录,然后在vs中添加对jquery-1.6.4.js的引用即可; 2、切记:...

    jquery-form - jQuery表单生成插件

    在jQuery-form中,你可以轻松实现异步(Ajax)提交表单,避免页面刷新,提升用户体验。它支持多种HTTP方法,包括POST和GET,以及XMLHttpRequest Level 2的PUT、DELETE等。此外,它还兼容各种表单编码类型,如...

    jquery-ui-1.11.2日期控件datepicker

    ${ctx}/plugins/jquery-ui-1.11.2/jquery-ui.css" > ${ctx}/plugins/jquery-ui-1.11.2/external/jquery/jquery.js"> ${ctx}/plugins/jquery-ui-1.11.2/jquery-ui.js"> ${ctx}/plugins/jquery-ui-1.11.2/jquery-ui-...

    jquery-resizable-columns

    "jquery-resizable-columns"正是这样一个jQuery插件,它允许用户通过鼠标拖动来改变表格列宽,从而满足不同场景下的数据查看需求。 一、jQuery可拖动列宽插件介绍 "jquery-resizable-columns"是基于jQuery的一个轻...

    jquery-migrate-3.0.1.js jar包

    <script src="path/to/jquery-migrate-3.0.1.js"> ``` 这里的`path/to`应该替换为实际的文件路径。 **四、迁移策略** 使用jQuery Migrate并不是长久之计,它只是一种过渡手段。开发者应根据控制台的警告信息,...

    jquery-migrate-1.2.1.min.js

    jquery-migrate-1.2.1.min.js 在网上下载一些 js 插件使用的时候,经常出现这种情况。但是更换低版本 jquery,比如 使用 1.7 版本的 jquery 却不会报错,能正常使用。 经过一番搜索,发现是因为高版本(1.9版本以后)...

    jquery-ui-1.10.3.min.js

    jquery-ui-1.10.3.min.js

Global site tag (gtag.js) - Google Analytics