当前位置: 代码迷 >> Web前端 >> jquery动态报表
  详细解决方案

jquery动态报表

热度:315   发布时间:2012-10-24 14:15:58.0
jquery动态表格
我的实现方法是:在需要编辑的字段位置放一个div和一个input来回切换。本来我是想用一个input就行了,改变其css和属性也能实现,可其中还有个select,怎么改变其css都无法去掉右边的三角,为了风格统一都用div切换了,上代码


html代码:


html代码
    <--tr>
      <td><input name="radiobutton" type="radio" class="radiobutton" value="<bean:write name=‘card‘ property=‘sn‘/>"></td>
      <td><bean:write name=‘card‘ property=‘sn‘/><input name="sn" type="hidden" id="sn" value="<bean:write name=‘card‘ property=‘sn‘/>"></td>
      <td><div id="hiddenuid"><bean:write name=‘card‘ property=‘u_id‘/></div><input name="uid" type="text" maxlength="6" class="hiddeninput" id="uid" value="<bean:write name=‘card‘ property=‘u_id‘/>"></td>
      <td><script>document.write(showflag("<bean:write name=‘card‘ property=‘flag‘/>",false))</script>
      </td>
      <td><bean:write name=‘card‘ property=‘duration‘/></td>
      <td><div id="hiddendate"><bean:write name=‘card‘ property=‘expiredate‘/></div><input name="date" type="text" class="hiddeninput" id="date" value="<bean:write name=‘card‘ property=‘expiredate‘/>" size="10"></td>
      <td><bean:write name=‘card‘ property=‘createdate‘/></td>
      <td><input name="button" type="button" class="saveinput" id="save" value="保存"></td>
    </tr-->




html代码

<td width="76"><input name="button5" type="button" id="modifyuid" value="修改单位 "></td>  <td width="91"><input name="button4" type="button" id="modifyflag" value="是否激活"></td>  <td width="41"><input name="button3" type="button" id="modifydate" value="续费"></td>  <td width="38"><input name="button2" type="button" id="delsn" value="删除"></td>jquery代码


js代码

var index;  
//初始化  
$(function(){   
           index=$(‘input:checked‘).parent().parent(); //初始化index变量,刚开始的行  
           $(‘.listtable tr:gt(0):even‘).addclass(‘alt‘);//隔行变颜色  
           $(‘#modifyuid‘).click(function(){    //为"修改单位"邦定事件  
              if(ischecked()){  
                showinput(‘uid‘);  
              }  
           });  
           $(‘#modifyflag‘).click(function(){   //为"是否激活"邦定事件  
              if(ischecked()){  
                showinput(‘flag‘);  
              }  
           });  
           $(‘#modifydate‘).click(function(){   //为"续费"邦定事件  
             if(ischecked()){  
                $(‘input:checked‘).parent().parent().find(‘#date‘).calendar(); //邦定日历                        
                showinput(‘date‘);  
              }  
           });  
           $(‘.saveinput‘).click(function(){    //为"保存"邦定事件  
              saveupdate(this);  
           });  
           $(‘#delsn‘).click(function(){    //为"删除"邦定事件  
              if(ischecked()){  
                delsn();  
              }  
           });  
           $(‘.radiobutton‘).click(function(){ //当选择其它行时,隐藏当前行中的表单  
              cancelhiddeninput($(index).parent().parent());  
              index = this;  
           });  
           $(‘.radiobutton‘).each(function(){   //如果单选框没有值则为disabled  
                if($(this).val()==‘‘){  
                    $(this).attr(‘disabled‘,‘disabled‘);  
                }  
           });  

           $(‘input[@name=uid]‘).change(function(){  
                if(this.lenght>6){  
                    return false;  
                }  
           });  
});  
//是否有一条记录选择  
ischecked = function(){   
    if($(‘input:checked‘).length==0){  
        alert(‘请先选择一条记录!‘);  
        return false;  
    }  
    return true;  
}  
//隐藏表单  
savehideninput=function(tr){  
    tr.find(‘.showinput‘).attr(‘class‘,‘hiddeninput‘);  
    tr.find(‘#save‘).css(‘visibility‘,‘hidden‘);  
    tr.find(‘#hiddenflag‘).html(showselect(tr.find(‘#flag‘).val())).removeattr(‘class‘);  
    tr.find(‘#hiddenuid‘).html(tr.find(‘#uid‘).val()).removeattr(‘class‘);  
    tr.find(‘#hiddendate‘).html(tr.find(‘#date‘).val()).removeattr(‘class‘);  
}  

cancelhiddeninput = function(tr){  
    tr.find(‘.showinput‘).attr(‘class‘,‘hiddeninput‘);  
    tr.find(‘#save‘).css(‘visibility‘,‘hidden‘);  
    tr.find(‘#uid‘).val(tr.find(‘#hiddenuid‘).html());  
    tr.find(‘#date‘).val(tr.find(‘#hiddendate‘).html());  
    tr.find(‘div[id*=hidden]‘).removeattr(‘class‘);  
}  
//显示表单  
showinput=function(id){  
    var tr = $(‘input:checked‘).parent().parent();  
    var showinput = tr.find(‘#‘+id);  
    var hiddeninput = tr.find(‘#hidden‘+id);  
    tr.find(‘#save‘).css(‘visibility‘,‘visible‘);  
    showinput.attr(‘class‘,‘showinput‘);  
    hiddeninput.attr(‘class‘,‘hiddeninput‘);  
}  

//保存方法  
saveupdate=function(id){  
    var tr = $(id).parent().parent();  
    var sn = tr.find(‘#sn‘).val();  
    var uid = tr.find(‘#uid‘).val();  
    var flag = tr.find(‘#flag‘).val();  
    var date = tr.find(‘#date‘).val();  
    var olddate = tr.find(‘#hiddendate‘).html();  
    if(uid.length>6){  
        alert(‘单位编号不能大于6位!‘);  
        return false;  
    }else if(date<olddate){  
        alert(‘续费后日期不能小于原来日期!‘);  
        return false;  
    }  
    $.ajax({  
        type:‘post‘,  
        url:‘admincarddykjmgraction.do‘,  
        datatype:‘json‘,  
        data:‘action=modifycard&u_id=‘+uid+‘&flag=‘+flag+‘&expiredate=‘+date+‘&sn=‘+sn,  
        success:function(){  
            savehideninput(tr);  
        },  
        error:function(){  
            alert(‘系统出现错误,保存失败!‘);  
        }  
    });  
}  
//删除方法  
delsn = function(){  
    if(confirm(‘是否要删除!‘)){  
        var tr = $(‘input:checked‘).parent().parent();  
        var sn = tr.find(‘#sn‘).val();  
        $.ajax({  
            type:‘post‘,  
            url:‘admincarddykjmgraction.do‘,  
            datatype:‘json‘,  
            data:‘action=delcard&snid=‘+sn,  
            success:function(){  
                tr.remove();  
            },  
            error:function(){  
                alert(‘系统出现错误,删除失败!‘);  
            }  
        });  
    }  
}  
showselect = function(flag){  
    var str;  
    if(flag==‘1‘){  
        str=‘已激活‘;    
    }else{  
        str=‘未激活‘;  
    }  
    return str;  
}  

function showflag(id,y){  
        var str;  
        var str2;  
        if(id==‘0‘){  
            str=str+‘<option value="">请选择</option>‘;  
            str=str+‘<option value="0" selected="selected">未激活</option>‘;  
            str=str+‘<option value="1">已激活</option>‘;  
            str2=‘<div id="hiddenflag">未激活</div>‘;  
        }else if(id==‘1‘){  
            str=str+‘<option value="">请选择</option>‘;  
            str=str+‘<option value="0">未激活</option>‘;  
            str=str+‘<option value="1" selected="selected">已激活</option>‘;  
            str2=‘<div id="hiddenflag">已激活</div>‘;  
        }else{  
            str=str+‘<option value="" selected="selected">请选择</option>‘;  
            str=str+‘<option value="0">未激活</option>‘;  
            str=str+‘<option value="1">已激活</option>‘;  
            str2=‘<div id="hiddenflag"></div>‘;  
        }  
        str=str+‘</select>‘;  
        if(y==true){  
            return ‘<select name="flag" id="flag">‘+str;  
        }else{  
            return str2+‘<select name="flag" id="flag" class="hiddeninput">‘+str;  
        }  
}


  相关解决方案