$(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. Jenkins学习之——(4)Email Extension Plugin插件的配置与使用

    1.先安装插件 2.配置 点击高级后 内容配置: 3.项目配置 点击Advanced Settings后 到此所有的配置都设置完成. 附录: 以下内容来自其他网友的博客,内容也没有自己去试,朋友们可以 ...

  2. 查看oracle数据库下面的所有的表,执行某个sql脚本:

    查看oracle数据库下面的所有的表: select * from user_tables;//user为用户名 执行某个sql脚本: SQL>@e 文件名.sql

  3. 使用nw.js将html项目打包为桌面程序

    首先需要确保电脑已经布置好node.js环境 1.下载并全局安装nw.js npm install nw -g 2.安装nw-builder模块 npm install nw-builder -g 3 ...

  4. java事件处理3

    鼠标拖动事件 接口MouseMotionListener 两个方法 mouseDragged(MouseEvent)//拖动鼠标 mouseMoved(MouseEvent)//移动鼠标 一个拖动按钮 ...

  5. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  6. PHP获取操作系统、IP、地理位置、浏览器、ISP等信息_PHP类代码

    PHP语言.浏览器.操作系统.IP.地理位置.ISP,本PHP类里面有以下几种方法,同时也是用法说明: <?php class class_guest_info{ function GetLan ...

  7. 向null地址copy数据和不断改变指针指向

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  8. IO通信

    DeviceIoControl 发送控制代码到指定设备驱动程序 参数解释: hDevice Long,设备句柄 dwIoControlCode Long,应用程序调用驱动程序的控制命令,就是IOCTL ...

  9. ubuntu设置系统时间与网络时间同步

    ubuntu设置系统时间与网络时间同步   Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC).   系统时间:指当前Linux Ker ...

  10. 网站(Tomcat)超线程宕机

    网站大中午的又挂了····· 拷了日志如下: 2014-4-12 13:22:30 org.apache.tomcat.util.net.JIoEndpoint createWorkerThread信 ...