jqgrid里面的触发器只能触发一次,有没有办法能够解决?

wswmjc 2013-09-07 07:44:09
//修改
function update(rowid) {
if (rowid != null) {
var rowObject = $("#myTab").jqGrid('getRowData', rowid);
var term = rowObject.termYear;
var yeardate = textList(term, "YEAR");
var quarterdate = textList(term, "QUARTER");
var monthdate = textList(term, "MONTH");
$("#myTab").setColProp("termYear", { editoptions: { value: yeardate} });
$("#myTab").setColProp("termQuarter", { editoptions: { value: quarterdate} });
$("#myTab").setColProp("termMonth", { editoptions: { value: monthdate} });

$("#myTab").jqGrid('editRow', rowid, true);
$("#myTab").setColProp(
"op",
{
formatter: function updFormatter() {
return '<a href="#" onclick=javascript:upd("' + rowid + '") >保存</a> '
+ '<a href="#" onclick=javascript:cancel()>取消</a>';
}
});
$("#myTab").jqGrid('editRow', rowid, true);
jQuery('#myTab').setRowData(rowid, {
op: ''
});

$("#" + rowid + "_termYear").change(function () {
var tempTerm = $("#" + rowid + "_termYear").val();
var tempyeardate = textList(tempTerm, "YEAR");
var tempquarterdate = textList(tempTerm, "QUARTER");
var tempmonthdate = textList(tempTerm, "MONTH");
$("#myTab").setColProp("termYear", { editoptions: { value: tempyeardate} });
$("#myTab").setColProp("termQuarter", { editoptions: { value: tempquarterdate} });
$("#myTab").setColProp("termMonth", { editoptions: { value: tempmonthdate} });
//$("#" + rowid + "_termYear").
getSysConfig();
$("#myTab").jqGrid('editRow', rowid, true);
});
var rowObject = $("#myTab").jqGrid('getRowData', rowid);
return;
} else {
alert("取值异常");
return false;
}
return false;
}

$("#" + rowid + "_termYear").change(function ())想给jqgrid的一个select添加一个onchange触发,但是这个触发只能触发一次,第二次就没有效果了,不知道这个问题有没有人能遇到,求解决方法,谢谢各路大神
...全文
249 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wswmjc 2013-09-08
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
你调用那么多次editRow干嘛? change事件里面也调用editRow方法,会重建select导致事件丢失了,要重新绑定 function changeEvent() { var tempTerm = $("#" + rowid + "_termYear").val(); var tempyeardate = textList(tempTerm, "YEAR"); var tempquarterdate = textList(tempTerm, "QUARTER"); var tempmonthdate = textList(tempTerm, "MONTH"); $("#myTab").setColProp("termYear", { editoptions: { value: tempyeardate} }); $("#myTab").setColProp("termQuarter", { editoptions: { value: tempquarterdate} }); $("#myTab").setColProp("termMonth", { editoptions: { value: tempmonthdate} }); //$("#" + rowid + "_termYear"). getSysConfig(); $("#myTab").jqGrid('editRow', rowid, true); $("#" + rowid + "_termYear").change(changeEvent); } $("#" + rowid + "_termYear").change(changeEvent);
重复调用是因为要求触发事件之后jqgrid内容改变重新加载了,但同时需要保证jqgrid为edit状态 我把代码照你的修改了下
$("#" + rowid + "_termYear").change(function changeEvent() {
	                var tempTerm = $("#" + rowid + "_termYear").val();
	                var tempyeardate = textList(tempTerm, "YEAR");
	                var tempquarterdate = textList(tempTerm, "QUARTER");
	                var tempmonthdate = textList(tempTerm, "MONTH");
	                $("#myTab").setColProp("termYear", { editoptions: { value: tempyeardate} });
	                $("#myTab").setColProp("termQuarter", { editoptions: { value: tempquarterdate} });
	                $("#myTab").setColProp("termMonth", { editoptions: { value: tempmonthdate} });
	                //$("#" + rowid + "_termYear").
	                getSysConfig();
	                $("#myTab").jqGrid('editRow', rowid, true);
	                $("#" + rowid + "_termYear").change(changeEvent);
	            });
之后,可以了 获益良多,谢谢!
ximenwuji 2013-09-07
  • 打赏
  • 举报
回复
帮顶一下 一块学习jqgrid
Go 旅城通票 2013-09-07
  • 打赏
  • 举报
回复
你调用那么多次editRow干嘛? change事件里面也调用editRow方法,会重建select导致事件丢失了,要重新绑定 function changeEvent() { var tempTerm = $("#" + rowid + "_termYear").val(); var tempyeardate = textList(tempTerm, "YEAR"); var tempquarterdate = textList(tempTerm, "QUARTER"); var tempmonthdate = textList(tempTerm, "MONTH"); $("#myTab").setColProp("termYear", { editoptions: { value: tempyeardate} }); $("#myTab").setColProp("termQuarter", { editoptions: { value: tempquarterdate} }); $("#myTab").setColProp("termMonth", { editoptions: { value: tempmonthdate} }); //$("#" + rowid + "_termYear"). getSysConfig(); $("#myTab").jqGrid('editRow', rowid, true); $("#" + rowid + "_termYear").change(changeEvent); } $("#" + rowid + "_termYear").change(changeEvent);

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧