您的位置:首页 > Web前端 > JQuery

jquery之onchange事件

2016-09-06 10:09 274 查看


$(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){
vardataStr=JSON.stringify(rowData);
varhtml="";
if(rowData.isdisable=='N'&&rowData.isdisable!='Y'){
//html+="<imgclass='op-enable'src='"+appPath+"/js/lib/jquery-easyui/themes/icons/cancel.png'onClick='deletes("+rowData.signActivityId+")'title='停用'/>  ";
html+="<imgclass='op-enable'src='"+appPath+"/js/lib/jquery-easyui/themes/icons/cancel.png'onClick='doOk("+rowData.signActivityId+","+2+")'title='禁用'/>  ";
}elseif(rowData.isdisable!='N'){
html+="<imgclass='op-enable'src='"+appPath+"/js/lib/jquery-easyui/themes/icons/pencil.png'onClick='showWin("+dataStr+")'title='编辑'/>  ";
//html+="<imgclass='op-enable'src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png'onClick='isOpen("+rowData.signActivityId+")'title='启用'/>  ";
html+="<imgclass='op-enable'src='"+appPath+"/js/lib/jquery-easyui/themes/icons/get-verify.png'onClick='doOk("+rowData.signActivityId+","+1+")'title='启用'/>  ";

}

html+="<imgclass='op-enable'src='"+appPath+"/js/lib/jquery-easyui/themes/icons/search.png'onClick='showWin("+dataStr+","+1+")'title='查看'/>  ";
returnhtml;
}
}
]],
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){
varstrReturn="";
if(rowData.isdisable=='Y'){
return("<fontcolor=red>"+strReturn+"停用</font>");
}elseif(rowData.isdisable=='N'){
return("<fontcolor=green>"+strReturn+"启用</font>");
}else{
return("<fontcolor=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){
varbgAddTime=$('#addstartTime').datebox("getValue");
varedAddTime=$('#addendTime').datebox("getValue");
if(bgAddTime!=''&&bgAddTime!=null&&edAddTime!=''&&edAddTime!=null){
if(bgAddTime>edAddTime){
$.messager.alert('提示',"开始时间不能大于结束时间",'info');
return;
}
}

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

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

functiongetQueryParam(){
varsignActivity=newObject();
//封装查询条件
signActivity.startTime=$("#startTime").datebox("getValue");
signActivity.endTime=$("#endTime").datebox("getValue");
signActivity.isdisable=$('#isdisable').combobox("getValue");
returnsignActivity;
}

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

functionshowWin(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",'');
//签到规则说明
varresult=querySignRule();
$("#addruleIntroduction").val(result);
variconStr="icon-add";
vartitle="新增签到活动";
varurlList;
varid=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{
variconStr="icon-add";
vartitle="新增签到活动";
$("#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",'');
//签到规则说明
varresult=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();
}
}

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

functionsave(){
varsignActivity=newObject();
if($("#idHidden").val()!=null&&$("#idHidden").val()!=""){
signActivity.signActivityId=$("#idHidden").val();
}
varbgAddTime=$('#addstartTime').datebox("getValue");
varedAddTime=$('#addendTime').datebox("getValue");
//获取两个日期天数差
varbgDate=newDate(bgAddTime);
varedDate=newDate(edAddTime);
vardays=edDate.getTime()-bgDate.getTime();

varrewardDays=(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');
}
}
});
}
functiondeletes(id){
varids='';
if(id==null||id==''){
varselections=$("#deliveryGrid").datagrid('getSelections');
if(selections==null||selections==''){
$.messager.alert('提示信息','请选操作的记录','');
return;
}
for(vari=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();
});
}
});

}

//启用
functionisOpen(id){

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

/**
*数据在启用的之前,应先查找数据库是否有已经启用的数据,
*保证后台数据只有一条是启用状态,否则弹框,并提示用户
*/
varids='';
if(id==null||id==''){
varselections=$("#deliveryGrid").datagrid('getSelections');
if(selections==null||selections==''){
$.messager.alert('提示信息','请选操作的记录','');
return;
}
for(vari=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();
});
}
});
}

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

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

returnresult;
}

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

functiondoOk(id,val){
varmsg="";
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异常');
}
});
}




<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>
<%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%>
<c:setvar="ctx"value="${pageContext.request.contextPath}"/>
<jsp:includepage="/jsp/common/header.jsp"></jsp:include>
<scriptsrc="${ctx}/js/signActivity/signActivity.js"></script>

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

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

<tableid="deliveryGrid"></table>

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

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

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

</div>




总结:

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

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

总结:

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

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

找到onselect事件,满足需求,即:当文本域的值改变的时候触发。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: