zoukankan      html  css  js  c++  java
  • 表格表格中获取不到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(){}。将匿名函数赋值给变量名。也就可以取到了。

  • 相关阅读:
    李开复给中国学生的第一封信
    vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)
    高级程序员考试时间安排和参考书推荐
    vc++学习篇(四)—— 指针
    程序员应具备的素质
    Word 2003 长篇文档排版技巧(二)
    Google 技巧集锦
    给中国学生的第二封信
    修复mysql表
    社保相关
  • 原文地址:https://www.cnblogs.com/jiangshengxiang/p/8604301.html
Copyright © 2011-2022 走看看