$(function(){
  $("#opreateHtml").window("close");

  $("#deliveryGrid").datagrid({
    url:appPath+"/page/signActivityAct/getPage",
    height:"full",
    striped:true,
    remoteSort:false,
    pagination:true,
    rownumbers:true,
    singleSelect:false,
    queryParams:getQueryParam(),
    frozenColumns:[[{field:"ck",checkbox:true},
      {field:"opt",title:"操作",width:100,align:"center",
        formatter:function(value,rowData,rowIndex){
            var dataStr = JSON.stringify(rowData);
            var html = "";
            if(rowData.isdisable=='N'&& rowData.isdisable!='Y'){
//                html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/cancel.png' onClick='deletes("+ rowData.signActivityId+ ")' title='停用'/>&nbsp;&nbsp;";
                html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/cancel.png' onClick='doOk("+ rowData.signActivityId+  "," + 2 + ")' title='禁用'/>&nbsp;&nbsp;";
            }else if(rowData.isdisable!='N'){
              html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/pencil.png' onClick='showWin("+dataStr+")' title='编辑'/>&nbsp;&nbsp;";
//              html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png' onClick='isOpen("+rowData.signActivityId+")' title='启用'/>&nbsp;&nbsp;";
              html+="<img class='op-enable' src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png' onClick='doOk("+rowData.signActivityId+"," + 1 + ")' title='启用'/>&nbsp;&nbsp;";

            }

          html += "<img class='op-enable' src='"+ appPath+ "/js/lib/jquery-easyui/themes/icons/search.png' onClick='showWin("+ dataStr+ ","+1+")' title='查看'/>&nbsp;&nbsp;";
            return html;
        }
      }
    ]],
    columns:[[
               {field:'startTime',title:'开始时间',width:100,align:'left',sortable:true},
               {field:'endTime',title:'结束时间',width:100,align:'left',sortable:true},
               {field:'rewardDays',title:'奖励期',width:100,align:'center',sortable:true},
               {field:'rewardName',title:'奖励产品',width:100,align:'center',sortable:true},
                {field : 'isdisable',
                title : '启用情况',
                width : 120,
                align : 'center',
                sortable : true,
                formatter : function(value, rowData, rowIndex) {
                    var strReturn = "";
                    if (rowData.isdisable == 'Y') {
                          return ("<font color=red> "+strReturn +"停用</font>");
                    } else if (rowData.isdisable == 'N') {
                         return ("<font color=green> "+strReturn +"启用</font>");
                    }else {
                        return ("<font color=black> "+strReturn +"新增</font>");
                    }

                }
            },

               {field:'editTime',title:'操作时间',width:120,align:'left',sortable:true}
   ]],
   toolbar:[
      {
          id:'btnadd',
          text:'新增签到活动',
          iconCls:'icon-add',
          handler:function(){
             showWin(null,null);
          }
      }

   ]
 });

  $("#addstartTime").datetimebox({
      onChange: function (n,o) {
        var bgAddTime = $('#addstartTime').datebox("getValue");
        var edAddTime = $('#addendTime').datebox("getValue");
        if(bgAddTime!=''&& bgAddTime!=null  && edAddTime!=''&&  edAddTime!=null){
            if(bgAddTime>edAddTime){
                $.messager.alert('提示', "开始时间不能大于结束时间", 'info');
                return;
            }
        }

        // 获取两个日期天数差
        var bgDates = new Date(bgAddTime);
        var edDates = new Date(edAddTime);
        var dayss = edDates.getTime() - bgDates.getTime();
        var rewardDayss= (parseInt(dayss / (1000 * 60 * 60 * 24)))+1;
        $("#addrewardDays").val(rewardDayss);
      }
  });

  //ji suan jie shu shi jian
  $("#addendTime").datetimebox({
      onChange: function (n,o) {
        var bgAddTime = $('#addstartTime').datebox("getValue");
        var edAddTime = $('#addendTime').datebox("getValue");
        if(bgAddTime!=''&& bgAddTime!=null  && edAddTime!=''&&  edAddTime!=null){
        if(bgAddTime>edAddTime){
            $.messager.alert('提示', "开始时间不能大于结束时间", 'info');
            return;
          }
        }
        // 获取两个日期天数差
        var bgDates = new Date(bgAddTime);
        var edDates = new Date(edAddTime);
        var dayss = edDates.getTime() - bgDates.getTime();
        var rewardDayss= (parseInt(dayss / (1000 * 60 * 60 * 24)))+1;
        $("#addrewardDays").val(rewardDayss);
      }
  });
});

function getQueryParam(){
  var signActivity =new Object();
  //封装查询条件
  signActivity.startTime = $("#startTime").datebox("getValue");
  signActivity.endTime = $("#endTime").datebox("getValue");
  signActivity.isdisable = $('#isdisable').combobox("getValue");
  return signActivity;
}

function doQuery(){
  $("#deliveryGrid").datagrid('load',getQueryParam());
}

function showWin(rowData,num){
    if(rowData!=null){
         $("#idHidden").val("");
          $("#addrewardDays").val("");
          $("#addplatform").val("");
          $("#addactivityIntroduction").val("");
//          $("#addrewardType").combobox("setValue", 'JF');//奖励类型  目前仅支持积分
          $("#addsignActivityId").val("");
          $("#addrewardName").val("");
          $("#addrewardContent").val("");
          $("#addstartTime").datebox("setValue","");
          $("#addendTime").datebox("setValue","");
          $("#isdisable").combobox("setValue", '');
          //签到规则说明
          var result=querySignRule();
          $("#addruleIntroduction").val(result);
          var iconStr = "icon-add";
            var title = "新增签到活动";
            var urlList;
            var id =rowData.signActivityId;
            if (id != null) {
                iconStr = "icon-edit";
                title = "编辑签到活动";
             $.post(
                appPath+"/page/signActivityAct/getBean/"+id,
                {},
                function(data){
                   $("#idHidden").val(data.signActivityId);
                   $("#addrewardDays").val(data.rewardDays);
                   $("#addplatform").combobox('setValue', data.platform);
                   $("#addactivityIntroduction").val(data.activityIntroduction);
                   $("#addrewardType").val(data.rewardType);

                   $("#addsignActivityId").val(data.signActivityId);
                   $("#addendTime").datebox("setValue", data.endTime);
                    $("#addstartTime").datebox("setValue", data.startTime);
                   $("#addrewardName").val(data.rewardName);
                   $("#addrewardContent").val(data.rewardContent);
                   $("#addisdisable").combobox('setValue', data.isdisable);
                },"json");
          }
    }else{
          var iconStr = "icon-add";
            var title = "新增签到活动";
          $("#idHidden").val("");

          $("#addrewardDays").val("");

          $("#addplatform").combobox("setValue", 'APP');
          $("#addactivityIntroduction").val("");
          $("#addrewardType").combobox("setValue", 'JF');//奖励类型  目前仅支持积分
          $("#addsignActivityId").val("");
          $("#addrewardName").val("签到额外奖励");
          $("#addrewardContent").val("");

          $("#addstartTime").datebox("setValue","");
          $("#addendTime").datebox("setValue","");

          $("#isdisable").combobox("setValue", '');
          //签到规则说明
         var result= querySignRule();
          $("#addruleIntroduction").val(result);
    }

  $('#opreateHtml').window({
    title:title,
    iconCls:iconStr,
    width : 750,
    height : 480,
    left : 200,
    modal : true,
    shadow : true,
    collapsible : false,
    minimizable : false,
    maximizable : false
  });
  $('#opreateHtml').window('move',{top:0});
  $('#opreateHtml').window('open');

  if(num==1){
        $("#shenheHideAndShow").hide();
    }else{
        $("#shenheHideAndShow").show();
    }
}

function closeWin(id){
  $('#opreateHtml').window('close');
}

function save(){
  var signActivity=new Object();
  if ($("#idHidden").val() != null && $("#idHidden").val() != "") {
      signActivity.signActivityId = $("#idHidden").val();
    }
    var bgAddTime = $('#addstartTime').datebox("getValue");
    var edAddTime = $('#addendTime').datebox("getValue");
    // 获取两个日期天数差
    var bgDate = new Date(bgAddTime);
    var edDate = new Date(edAddTime);
    var days = edDate.getTime() - bgDate.getTime();

    var rewardDays= (parseInt(days / (1000 * 60 * 60 * 24)))

  if($("#addstartTime").datebox("getValue")==""||$("#addstartTime").datebox("getValue")==null){
      $.messager.alert("提示","开始时间不能为空","info");
      return;
  }
  if ($("#addendTime").datebox("getValue") == null|| $("#addendTime").datebox("getValue") == "") {
        $.messager.alert('提示', "结束时间不能为空", 'info');
        return;
    }

    if ($("#addstartTime").datebox("getValue") >= $("#addendTime").datebox("getValue")) {
        $.messager.alert('提示', "开始时间不能大于结束时间", 'info');
        return;
    }

    if($("#addactivityIntroduction").val()==null || $("#addactivityIntroduction").val()==""){
        $.messager.alert('提示', "请输入活动的内容介绍", 'info');
        return;
    }
    if($("#addrewardName").val()==null ||$("#addrewardName").val()==""){
        $.messager.alert('提示', "请输入奖励积分名称", 'info');
        return;
    }
    if($("#addrewardContent").val()==null ||$("#addrewardContent").val()==""){
        $.messager.alert('提示', "请输入奖励积分分值", 'info');
        return;
    }

  signActivity.signActivityId = $("#idHidden").val();
  signActivity.startTime = $("#addstartTime").datebox("getValue");
  signActivity.endTime = $("#addendTime").datebox("getValue");

  signActivity.platform=$("#addplatform").combobox("getValue");

  signActivity.activityIntroduction=$("#addactivityIntroduction").val();

  signActivity.rewardType=$("#addrewardType").combobox("getValue");
  //默认是开始减去结束时间
  signActivity.rewardDays=rewardDays+1;

  signActivity.rewardName=$("#addrewardName").val();

  signActivity.rewardContent=$("#addrewardContent").val();

  //默认签到规则

  doAjax({
    url:appPath+'/page/signActivityAct/saveOrUpdate',
    type:'post',
    data:signActivity,
    success : function(data) {
        if (data == "ok") {
            $.messager.alert('提示', "保存成功", 'info');
            $('#opreateHtml').window('close');
            doQuery();
        } else {
            $.messager.alert('提示', data, 'info');
        }
    }
  });
}
function deletes(id) {
    var ids = '';
if (id == null || id == '') {
    var selections = $("#deliveryGrid").datagrid('getSelections');
    if (selections == null || selections == '') {
        $.messager.alert('提示信息', '请选操作的记录', '');
        return;
    }
    for (var i = 0; i < selections.length; i++) {
        ids += selections[i].signActivityId + ',';
    }
} else {
    ids = id;
}
$.messager.confirm('提示信息', "您确定要停用吗?", function(r) {
    if (r) {
        $.post(appPath + "/page/signActivityAct/deleteIdsLogic", {
            "ids" : ids
        }, function(data) {
            $.messager.alert('提示信息', '停用成功', '');
            doQuery();
        });
    }
});

}

//启用
function isOpen(id){

    var isdisable='Y';
    if(!checkIsisable(isdisable)){
        $.messager.alert('提示','数据中已经存在启用状态的活动,不可再启用!');
        return;
    }

    /**
     * 数据在启用的之前,应先查找数据库是否有已经启用的数据,
     * 保证后台数据只有一条是启用状态,否则弹框,并提示用户
     */
    var ids = '';
    if (id == null || id == '') {
        var selections = $("#deliveryGrid").datagrid('getSelections');
        if (selections == null || selections == '') {
            $.messager.alert('提示信息', '请选操作的记录', '');
            return;
        }
        for (var i = 0; i < selections.length; i++) {
            ids += selections[i].signActivityId + ',';
        }
    } else {
        ids = id;
    }
    $.messager.confirm('提示信息', "您确定要启用吗?", function(r) {
        if (r) {
            $.post(appPath + "/page/signActivityAct/isOpen", {
                "ids" : ids
            }, function(data) {
                $.messager.alert('提示信息', '启用成功', '');
                doQuery();
            });
        }
    });
}

//检查活动编码是否唯一
function checkIsisable(isdisable){
    var flag = false;
    doAjax({
        url:appPath+'/page/signActivityAct/checkIsdisable',
        type:'post',
        async:false,
        data:{
            isdisable:isdisable
        },
        success:function(data){
            if(data == 0){
                flag = true;
            }
        }
    });
    return flag;
}

/**
 * 通过soa-member 接口查询出默认签到规则
 */
function querySignRule(){
    var result='';
    doAjax({
        url:appPath+'/page/signActivityAct/getDeSignRule',
        type:'post',
        async:false,
        data:{},
        success:function(data){
         if(data!=null ){
             result=data[0].signRule
           return result;
         }
        }
    });

     return result;
}

/**
 * 启用,停用
 *
 */

function doOk(id,val){
    var msg = "";
    msg =  val ==1?"启用成功":"停用成功";
    doAjax({
        url: appPath + "/page/signActivityAct/onlineOrOffline",
        type: "post",
        dataType: "json",
        data: {id:id,isdisable:val} ,
        success: function (data) {
            doQuery();
            if(data=='1'){
               $.messager.alert('提示','数据中已经存在启用状态的活动,不可再启用!');
            }else{
            $.messager.alert('提示信息', msg, 'info');
            }
        },
        error: function () {
            alert('ajax异常');
        }
    });
}

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="ctx" value="${pageContext.request.contextPath}" />
<jsp:include page="/jsp/common/header.jsp"></jsp:include>
<script src="${ctx }/js/signActivity/signActivity.js"></script>

<table class="queryTable">
  <tr>
    <td class="queryTitle" width="80px">开始时间</td>
        <td class="queryContent"><input class="inputText easyui-datetimebox" type="text" id="startTime"/></td>
        <td class="queryTitle" width="80px">结束时间</td>
        <td class="queryContent"><input class="inputText easyui-datetimebox" type="text" id="endTime"/></td>
    <td class="queryTitle" width="80px">启用状态</td>
    <td class="queryContent">
       <select id="isdisable" class="easyui-combobox" style="width: 100px" panelHeight="auto">
                <option value="">请选择</option>
                <option value="Y">禁用</option>
                <option value="N">启用</option>
        </select>
    </td>

    <td class="queryBtnTd" ><a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search"  onclick="doQuery()">查&nbsp;&nbsp;询</a></td>
  </tr>
</table>

<table id="deliveryGrid"></table>

<div id="opreateHtml" class="easyui-window" title="" iconCls="icon-edit" style="width:320px; height:550px;text-align:center; background: #fafafa;margin:0 auto;">
  <div class="easyui-layout" fit="true">
    <div region="center" border="false" style="background:#fff;border:1px solid #ccc;">
       <form>
           <input type="hidden" id="idHidden" name="idHidden" value="" />
           <table class="queryTable"  width="100%">
             <tr>
                   <td class="queryTitle" width="100px">开始时间</td>
                   <td class="queryContent" ><input class="inputText easyui-datetimebox" type="text" id="addstartTime" style="width:150px"/></td>
              </tr>
              <tr>
                   <td class="queryTitle" width="100px">结束时间</td>
                   <td class="queryContent" ><input class="inputText easyui-datetimebox" type="text" id="addendTime" style="width:150px"/></td>
               </tr>
               <tr>
                   <td class="queryTitle" width="100px">适用端</td>
               <td class="queryContent" >
                <select id="addplatform" class="easyui-combobox" style="width: 100px" panelHeight="auto">
                   <option value="APP">APP</option>
                   <option value="PC">PC</option>
                   <option value="WAP">WAP</option>
                </select>
             </td>
             </tr>
              <tr>
                 <td class="queryTitle" width="100px">内容介绍</td>
                    <td class="queryContent" colspan="20">
                <textarea id="addactivityIntroduction"  name="addactivityIntroduction" class="inputText" validType="maxLength[1000]" style="width: 565px;height:70px;"></textarea>
            </td>
              </tr>
              <tr>
                   <td class="queryTitle" width="100px">奖励类型</td>
                   <td class="queryContent" >
                    <select id="addrewardType" class="easyui-combobox" style="width: 100px" panelHeight="auto">
                   <option value="JF">积分</option>
                </select>
              </tr>
              <tr>
                   <td class="queryTitle" width="100px">奖励期</td>
                   <td class="queryContent" ><input class="inputText" type="text" id="addrewardDays"  value="" readonly="readonly" /></td>
               </tr>
               <tr>
                   <td class="queryTitle" width="100px">奖励积分名称</td>
                   <td class="queryContent" ><input class="inputText" type="text" id="addrewardName" /></td>
               </tr>
               <tr>
                   <td class="queryTitle" width="100px">奖励积分分值</td>
                   <td class="queryContent" ><input class="inputText" type="text" id="addrewardContent" /></td>
               </tr>

                <tr>
                   <td class="queryTitle"width="100px" >签到规则说明</td>

                   <td class="queryContent" colspan="30" >
                <textarea id="addruleIntroduction"  name="addruleIntroduction" class="inputText" validType="maxLength[1000]"  readonly="true" style="width: 565px;height:70px;"></textarea>
            </td>
               </tr>
           </table>
       </form>
    </div>
  <div region="south" border="false" style="text-align:center;height:30px;line-height:30px;">
  <label id="shenheHideAndShow">
     <a class="easyui-linkbutton" iconCls="icon-ok" href="javascript:void(0);" onclick="save('1');">确定</a>&nbsp;&nbsp;
   </label>
     <a class="easyui-linkbutton" iconCls="icon-cancel" href="javascript:void(0);" onclick="closeWin();">退出</a>
  </div>
</div>

</div>
 

总结:

 $("#addstartTime").datetimebox({
      onChange: function (n,o) {
        var bgAddTime = $('#addstartTime').datebox("getValue");
        var edAddTime = $('#addendTime').datebox("getValue");
        if(bgAddTime!=''&& bgAddTime!=null  && edAddTime!=''&&  edAddTime!=null){
            if(bgAddTime>edAddTime){
                $.messager.alert('提示', "开始时间不能大于结束时间", 'info');
                return;
            }
        }

        // 获取两个日期天数差
        var bgDates = new Date(bgAddTime);
        var edDates = new Date(edAddTime);
        var dayss = edDates.getTime() - bgDates.getTime();
        var rewardDayss= (parseInt(dayss / (1000 * 60 * 60 * 24)))+1;
        $("#addrewardDays").val(rewardDayss);
      }
  });

总结:

日期格式的插件是DatatimeBox,但是该插件没有事件方法,找到其依赖(即父类)databox,

只有一个onselect事件,不满足需要,再找到databox的父类combox,

找到onselect事件,满足需求,即:当文本域的值改变的时候触发。

jquery之onchange事件的更多相关文章

  1. jquery之onchange事件2

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  2. 使用JQuery UI selectmenu, onchange事件失效

    今天, 在用jQuery UI的一套东西是发现<select class="dropmenu" onchange="do();"></sele ...

  3. 为什么Jquery对input file控件的onchange事件只生效一次

    今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解 ...

  4. JQuery EasyUI Combobox的onChange事件

    html中的select 的change事件 <select id="consult_province" name="consult_province" ...

  5. JQuery EasyUI内Combobox的onChange事件

    1.原始方法 我想写个html代码的都对下拉选择标签select不陌生,关于这个标签,在不加任何渲染的情况下,想要触发其onchange事件是很简单的一件事情,如下: <select id=&q ...

  6. jQuery下的onChange事件在某些情况下无效

    onChage无效的原因: 虽然表面上感觉是当内容发生变化时,就会触发onchange事件,但是那只能在页面上操作.而如果通过dom对象去修改它的value则什么事也不会发生. onchange触发原 ...

  7. jquery触发两次onchange事件

    在项目中需要给select绑定改变事件,来触发动作,但是发现改变一次select,onchange方法执行两遍 //这是那个标签,用的是我们公司内部的selectlist <select cla ...

  8. html input的file文件输入框onchange事件触发一次失效解决方法

    最近在做一个图片上传的功能,出现提交一次后,file输入框的change事件无法再次触发的bug,就是说提交一次后必须刷新才能再次提交,这就坑了~ 于是想办法解决它~ 在网上找了一些资料,找到这几种方 ...

  9. JS改变input的value值不触发onchange事件解决方案 (转)

    方法(一)(转载的网络资料) 需要了解的知识     首先,我们需要了解onchange和onpropertychange的不同: IE下,当一个HTML元素的属性改变的时候,都能通过 onprope ...

随机推荐

  1. 武汉科技大学ACM:1010: 零起点学算法89——母牛的故事

    Problem Description 有一头母牛,它每年年初生一头小母牛.每头小母牛从第四个年头开始,每年年初也生一头小母牛.请编程实现在第n年的时候,共有多少头母牛? Input 输入数据由多个测 ...

  2. java事件处理5(窗口,窗口坐监视器

    WindowEvent窗口事件 添加接口 addWindowListener(WindowEvent e) 接口有七个方法 public void windowActivated(WindowEven ...

  3. tomcat加入系统服务

    在实际的项目开发中web容器等都是安装在客户方的服务器上的,在实现tomcat的集群时为了实现防止客户重启的机器造成服务器的关闭因此需要将web容器加入到系统服务中,在系统启动的时候自动启动服务,以t ...

  4. Web 端 js 导出csv文件(使用a标签)

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

  5. php实现冒泡排序

    冒泡排序是非常容易理解和实现,,以从小到大排序举例:设数组长度为N.1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个数据交换.2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最 ...

  6. php stripslashes() addslashes() 解析

    stripslashes() 函数删除由 addslashes() 函数添加的反斜杠. 实例: <?php $str = "Is your name O\'reilly?"; ...

  7. Number对象

    <script type="text/javascript"> /* Number对象. 创建Number对象的方式: 方式1: var 变量= new Number( ...

  8. 数据库 数据库SQL语句五

    集合运算 union 并集(两个集合如果有重复部分,那么只显示一次重复部分) union all 并集(两个集合如果有重复部分,那么重复部分显示两次) intersect 交集 minus 差集 -- ...

  9. ModelSim仿真入门

    ModelSim仿真入门之一:软件介绍 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤都经过缜密的思考,做到了详细再详细的程度. 如果您是FPGA开发 ...

  10. C# and android and socket

    利用TCP协议通过Socket编写的网络聊天工具1-客户端 利用TCP协议通过Socket编写的网络聊天工具2-通用类设计 利用TCP协议通过Socket编写的网络聊天工具3-服务器端设计