码迷,mamicode.com
首页 > 其他好文 > 详细

表格表格中获取不到button选择器

时间:2018-03-19 20:55:51      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:延时   isl   date   func   xxx   button   匿名函数   cti   lang   

今天做一个表单提交,怎么也拿不到button的选择器,不管用$(“#btn_update”)还会getElementById("btn_update"),浏览器也是谷歌没问题,后来发现是动态加载dom元素无法取值的问题。 因为表单中的表格数据是通过另一个页面传来的id,ajax动态加载的。所以直接取的话,dom元素还没家在成功。

可以用

1.事件委托

$(document).on(‘click‘,‘#btn_update‘,function(){
         //..............
});


2.写一个延时器

var initInputDom = function(datas) {
if ($("#wdgl-update-box input[name=description]").length > 0) {
$("#wdgl-update-box input[name=description]").val(
datas[0].description);
$("#wdgl-update-box input[name=id]").val(datas[0].id);
$("#wdgl-update-box input[name=gisLon]").val(datas[0].gisLon);
$("#wdgl-update-box input[name=gisLat]").val(datas[0].gisLat);
$("#wdgl-update-box input[name=name]").val(datas[0].name);
} else {
setTimeout(function() {

initInputDom(datas);
}, 200);
}
}

这个是ajax拿到数据,写进input框中的代码


3.
var $dom = $(‘body‘).find(‘.xxxx‘)
动态加载的dom你不能直接获取的,因为是找不到的,要从已经存在于页面的元素获取那个动态加载的dom元素才行。


4
也是我亲历有效的,function的三种定义方式的第二种,可以解决
一开始我是用function 方法名(){},而后我用 var 方法名 = function(){}。将匿名函数赋值给变量名。也就可以取到了。

表格表格中获取不到button选择器

标签:延时   isl   date   func   xxx   button   匿名函数   cti   lang   

原文地址:https://www.cnblogs.com/jiangshengxiang/p/8604301.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!