请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1

请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1

先给大家看看图片效果,大家不要直接复制代码,这样是执行不了的,由于你们数据库和我的不一样,可是你们能够自己读读这个代码。找找对自己实用的,当然我的方法也不是最好的希望大家能够给点意见。感激不尽。

(1)点击改动图标

(2)填写改动内容

(3)点击确定改动

jquery与css代码:

<style type="text/css">
.open{
display:block;
}
.close{
display:none;
}
</style>
<script language="javascript">
$(function(){ //监听改动,实现显示关闭之间的切换
$("tr").delegate("td[id='modify']","click",function(){
var id = $(this).attr('name');
$("#"+id).toggleClass("close");
}); //监听改动的确认改动button,并以ajax方式提交
$("td").delegate("input[name='update[]']","click",function(){
var id=$(this).parent().parent().attr('name');
var student_id1=$("input[name='student_id1']").map(function(){return $(this).val()}).get();
var date1=$("input[name='date1']").map(function(){return $(this).val()}).get();
var beforeclass_id1=$("input[name='beforeclass_id1']").map(function(){return $(this).val()}).get();
var class_id1=$("input[name='class_id1']").map(function(){return $(this).val()}).get();
var type1=$("select[name='type1']").map(function(){return $(this).val()}).get();
var remark1=$("input[name='remark1']").map(function(){return $(this).val()}).get();
$.post("/qtsc/update" ,{student_id1:student_id1[id],date1:date1[id],beforeclass_id1:beforeclass_id1[id],class_id1:class_id1[id],type1:type1[id],remark1:remark1[id]},function(data){
if(data=='班级格式错误或不存在,请检查! '){
alert(data);
}else{
alert(data);
location.reload();
}
});
});
});
</script>

html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" rel="stylesheet" href="/css/dmcx.css"/>
<script type="text/javascript" src="/js/jquery.js"></script>
<script type="text/javascript" src="/js/cxjl.js"></script>
<script type="text/javascript" src="/My97DatePicker/WdatePicker.js"></script>
<title>MYTITLE</title>
</head>
<body bgcolor="#fff">
<form method="post" name="reqForm" action="/Qtsc/delete">
<table align="center" id="rounded-corner" > <thead>
<tr>
<th scope="col" class="rounded-company">全选<input type='checkbox' name="allsel" onclick="check_all(this,'id[]')"/></th>
<th scope="col" class="rounded">姓名</th>
<th scope="col" class="rounded">学号</th>
<th scope="col" class="rounded">时间</th>
<th scope="col" class="rounded">最初班级</th>
<th scope="col" class="rounded">终于班级</th>
<th scope="col" class="rounded">学籍变动类型</th>
<th scope="col" class="rounded">备注</th>
<th scope="col" class="rounded-q4">改动</th>
<th scope="col" class="rounded-q4">删除</th>
</tr>
</thead> <tbody id="cxjg">
<?php
$k = 0;
$class = $this->class;
$beforeclass = $this->beforeclass;
foreach ($res=$this->studentchange as $key=>$value){
$id=$value["id"];
$url="/qtsc/delete?id[]={$id}";
echo "<tr>";
echo "<td><input type='checkbox' name='id[]' value='".$id."'/></td>";
echo "<td>".$value['name']."</td>"."<td>".$value['student_id']."</td>"."<td>".$value['date']."</td>"."<td>".$beforeclass[$key]."</td>"."<td>".$class[$key]."</td>"."<td>".$value['type']."</td>"."<td>".$value['remark']."</td>";
echo "<td name='".$id."' id='modify'><a href='#' id='alter'><img src='/images/user_edit.png' /></a></td>";
echo '<td><a href="'.$url.'" name="delete"><img src="/images/trash.png" alt="" title="" border="0" /></a></td>';
echo "</tr>";
echo "<tr class='close' name='".$k."' id='".$id."'>
<form method='post' action='/qtsc/update'>
<td></td>
<td><input type='hidden' name='student_id1' value='".$value['student_id']."'</td>
<td>日期<input type='text' name='date1' value='".$value['date']."' class='Wdate' onclick='WdatePicker()'/></td>
<td>最初班级<input type='text' name='beforeclass_id1' value='".$beforeclass[$key]."'/></td>
<td>终于班级<input type='text' name='class_id1' value='".$class[$key]."' /></td>
<td>学籍异动类型<select name='type1' value='".$value['type']."'>
<option value='".$value['type']."'>".$value['type']."</option>
<option value='转专业'>转专业</option>
<option value='试读'>试读</option>
<option value='休学'>休学</option>
</select></td>
<td>备注<input type='text' name='remark1' value='".$value['remark']."'/></td>
<td></td>
<td><input type='button' name='update[]' value='确定改动'/></td>
<td></td>
</form>
</tr>";
$k++;
}
?>
</tbody>
</table>
</form>
<div class="bts">
<a href="/qtsc/qtscadd" class="bt"><span class="bt_lft"></span><strong>加入记录</strong><span class="bt_r"></span></a>
<a href="javascript:void(0)" onclick="isdo()" class="bt"><span class="bt_lft"></span><strong>删除所选</strong><span class="bt_r"></span></a>
<!--<a href="javascript:document.reqForm.submit();" class="bt"><span class="bt_lft"></span><strong>删除所选</strong><span class="bt_r"></span></a>-->
</div>
</body>
</html>

zend framework 在这里我仅仅写控制器中的action。模型省略写,其它的不重要的也不写

//检查学生
public function checkstuAction(){ $stu_id=$this->getRequest()->getParam("stu_id"); $student = new Student();
$res = $student->getStudent($stu_id); $studentchange = new Studentchange();
$res3 = $studentchange->getStuchange($stu_id); $beforeclass_id = $this->getRequest()->getParam('beforeclass_id');
$class_id = $this->getRequest()->getParam('class_id');
$classes = new Classes();
$res1 = $classes->getClassid($beforeclass_id);
$res2 = $classes->getClassid($class_id);
if(count($res)==0&&count($res3)!=0){
echo '此学号不存在,或在学籍异动中该学生已经存在';
exit(); }elseif(count($res1)==0||count($res2)==0){
echo '班级格式错误或不存在。请检查! ';
exit();
}else{
echo 'ok';
exit();
} }
//改动
public function updateAction(){
//取值
$student_id1 = $this->getRequest()->getParam('student_id1');
$date1 = $this->getRequest()->getParam('date1');
$beforeclass_id1 = $this->getRequest()->getParam('beforeclass_id1');
$class_id1 = $this->getRequest()->getParam('class_id1');
$type1 = $this->getRequest()->getParam('type1');
$remark1 = $this->getRequest()->getParam('remark1'); //转化班级名为ID
$classes = new Classes();
$res1 = $classes->getClassid($beforeclass_id1);
$res2 = $classes->getClassid($class_id1);
if(count($res1)==0||count($res2)==0){
echo '班级格式错误或不存在。请检查!';
exit();
} $data = array(
'student_id'=>$student_id1,
'date'=>$date1,
'beforeclass_id'=>$res1[0]['id'],
'class_id'=>$res2[0]['id'],
'type'=>$type1,
'remark'=>$remark1
); $studentchange = new Studentchange();
$db = $studentchange->getAdapter();
$where = $db->quoteInto('student_id=?',$student_id1);
$flag=$studentchange->update($data, $where); // $date1 = array(
// 'class_id'=>$res2[0]['id']
// );
// $student = new Student();
// $db1 = $student->getAdapter();
// $where1 = $db1->quoteInto('id=? ',$student_id1);
// $flag1 = $student->update($data1, $where1); if(count($flag)==0){
echo '您未改动内容或填写格式错误,请检查!';
exit();
}else{
echo '改动成功。';
exit();
}
}

请勿盗版,转载请加上出处http://blog.csdn.net/yanlintao1

用jquery实现隐藏列表表单的显示关闭切换以及Ajax方式改动提交相应的那一行的改动内容。的更多相关文章

  1. 用jQuery插件来提升SharePoint列表表单用户体验

    本文将描述如何通过简单的CSS和jQuery插件提升SharePoint默认的列表表单体验.这些小技巧并不仅仅改善了外观,还提升了可用性. 剩余字数 我们以通知列表为例.通知正文字段假设要求不应该超过 ...

  2. SharePoint 2013 关于自定义显示列表表单的bug

    1.在SharePoint 2013中,我们隐藏列表Dispform页面的ListFormWebPart部件,转而使用自定义显示列表表单进行展示,因为这样更容易定制我们需要的显示: 2.之后发现文件夹 ...

  3. SharePoint 2013 配置InfoPath 列表表单

    转载来源:http://www.cnblogs.com/jianyus/p/3470113.html SharePoint列表,都是通过表单展示,有时候不太符合要求,这时候,我们可以通过定制表单,来是 ...

  4. [using_microsoft_infopath_2010]Chapter4 使用SharePoint列表表单

    本章概要: 1.把SharePoint列表表单转换成InfoPath可用形式 2.使用字段和控件 3.规划表单布局 4.理解列表表单的局限性

  5. 通过jQuery的Ajax方式来提交Form表单

    通过jQuery的Ajax方式来提交Form表单 $.ajax({ url:ajaxCallUrl, type:"POST", cache:true, async:false, d ...

  6. SharePoint 2013 Designer系列之自定义列表表单

    在SharePoint的使用中,默认的样式过于单调经常困扰着我们,其实,SharePoint使用Designer工具,可以很轻松解决这一问题,制作出各式各样漂亮的页面.下面,让我们简单介绍下这一过程. ...

  7. HTML2列表表单框架

    HTML——Hyper Text Markup Language <html>,<head>,<body> 一.基本标签: (一)格式标签:——模型:word工具栏 ...

  8. layui列表表单

    列表: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...

  9. SharePonit online 列表表单定制

    1)在O365管理中心,确保启用了站点脚本定制,否则,网站不允许将页面切换到编辑模式. 2)Ribbon上,列表->表单web部件->编辑窗体 如果没有Ribbon,则到列表高级设置,启用 ...

随机推荐

  1. LeetCode Weekly Contest 18B

    1. 496. Next Greater Element I 暴力的话,复杂度也就1000 * 1000 = 1e6, 在1s的时限内完全可以. 当然,有许多优化方法,利用stack维护递减序列的方法 ...

  2. JsonResult

    注意:如果有大量的json数据要处理,建议使用ASP .NET Web API框架处理,专门用来处理json数据交换并提供跨平台访问能力的 ConentType设置为application/json ...

  3. 移动端web开发初探之Vuejs的简单实战

    这段时间在做的东西,是北邮人论坛APP的注册页.这个注册页是内嵌的网页,因为打算安卓和IOS平台同时使用.因此实际上就是在做移动端的web开发了. 在这过程中遇到了不少有意思的东西. DEMO的git ...

  4. hdu3861 The King’s Problem 强连通缩点+DAG最小路径覆盖

    对多校赛的题目,我深感无力.题目看不懂,英语是能懂的,题目具体的要求以及需要怎么做没有头绪.样例怎么来的都不明白.好吧,看题解吧. http://www.cnblogs.com/kane0526/ar ...

  5. @section Scripts{}的使用

    MVC视图中,Javascripts代码被放于下面的Razor代码中(@section Scripts{}). 好处:在视图进行JavaScript编程时,是一个很好的实践,在共享视图(_Layout ...

  6. java函数式编程之lambda表达式

    作为比较老牌的面向对象的编程语言java,在对函数式编程的支持上一直不温不火. 认为面向对象式编程就应该纯粹的面向对象,于是经常看到这样的写法:如果你想写一个方法,那么就必须把它放到一个类里面,然后n ...

  7. profibus

    在研究profibus之前先提出问题,带着问题查看 profibus跟硬件无关?只是软件上的协议复杂? profibus和modbus的区别? 解读: profibus跟硬件关系不大,profibus ...

  8. 企业级任务调度框架Quartz(7) 线程在Quartz里的意义(1)

    1.Java 中的线程     线程允许程序同一时间做很多任务,至少,看起来那些任务是并发执行的.在我的并发编程的帖子里有介绍线程的基本概念:我们知道在任一特定时刻仅有一个线程 在执行,但是 CPU ...

  9. 07 Django组件-中间件

    中间件 方式一:函数式:中间件[middleware],也叫钩子方法[钩子函数],hook Django中的中间件是一个轻量级.底层的插件系统,可以介入Django的请求和响应处理过程,修改Djang ...

  10. PHP中each与list用法分析

    1.each的用法 先看API array each ( array &$array ) api里是这么描述的:each — 返回数组中当前的键/值对并将数组指针向前移动一步 我们先来看看返回 ...