博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS动态事件绑定问题
阅读量:6480 次
发布时间:2019-06-23

本文共 1680 字,大约阅读时间需要 5 分钟。

今天搞一个连环套的动态选项展示,需要给下拉框动态绑定事件,谁知绑定中出现问题,总是执行第一次绑定的时间而后续绑定的事件没有被触发。

1 //重写增加行方法 2 function initMainItem(gridId){ 3     jqgrid = $('#' + gridId);   4     var colModel = jqgrid.jqGrid().getGridParam("colModel"); 5     var rowid ="rowid" + new Date().getTime(); 6     jqgrid.jqGrid("addRowData", rowid, JSON.stringify(colModel), "last");  7     jqgrid.editRow(rowid, true);  8     var optTd = $("#" + rowid + " td[aria-describedby='basMgmtGridIdGrid_opt']"); 9     var buttonStr= ' 删除  ';11     optTd.html(buttonStr);12     jqgrid.jqGrid('setSelection',rowid);13     var option = "";14     for(var key in itemData) {15         option += "";16     }17     var mainItem = $("#" + rowid + " select[name=mainItem]");18     mainItem.html(option);19     mainItem.change(function () {initSubItem(mainItem);});20     initSubItem(mainItem);21 }  22 23 function initSubItem(mainItem) {24     var mainItemKey = mainItem.val();25     var priceItems = itemData[mainItemKey];26     var option = "";27     for(var key in priceItems) {28         option += "";29     }30     var subItem = mainItem.parent("td").next("td").children();31     subItem.html(option);32     subItem.change(function () {initItem(subItem, priceItems);});33     initItem(subItem, priceItems);34 }35 36 function initItem(subItem, priceItems) {37     var subItemKey = subItem.val();38     var priceItem = priceItems[subItemKey];39     var unitItem = subItem.parent("td").next("td");40     unitItem.html("" + unitDict[priceItem.unit] + "");41 }

  注意两个动态绑定,其实很简答的知识,绑定新事件前要清除旧事件,因为js默认不覆盖,这些都是学过的,就是不出错get不到啊。

  改为:

1 subItem.unbind("change").change(function () {initItem(subItem, priceItems);});

 

转载地址:http://lvfuo.baihongyu.com/

你可能感兴趣的文章
SuperMap(无对应字段)空间属性挂接
查看>>
c++函数的升级_4
查看>>
课程模块——课程界面与技术文档
查看>>
20.调用animate()方法制作简单的动画效果
查看>>
2015-06-29
查看>>
启用了不安全的HTTP方法【转】
查看>>
throws和throw的区别
查看>>
++i和i++的区别
查看>>
程序员总结分析:为什么要用原生 JavaScript 代替 jQuery?
查看>>
干货!前端开发指南20+
查看>>
POJ2018 Best Cow Fences 二分
查看>>
Centos 安装 RabbitMQ
查看>>
月薪7K的同学分享“远程班”学习体会
查看>>
nginx的Mainline version、Stable version、Legacy version的版本区别
查看>>
Redis多实例配置以及主从同步
查看>>
《人件》阅读笔记五
查看>>
identify.js
查看>>
LINQ的分组聚合技术
查看>>
Buildroot stress-ng Linux系统压力测试
查看>>
01-jQuery的介绍
查看>>