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

今天做一个表单提交,怎么也拿不到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(){}。将匿名函数赋值给变量名。也就可以取到了。

posted @ 2018-03-19 19:50  必有谦卑  阅读(221)  评论(0编辑  收藏  举报