2 qq 32824609 qq_32824609 于 2017.01.16 21:27 提问

js加载出来的checkbox,用$("input:checkbox")无法找到

js加载出来的checkbox,用$("input:checkbox")无法找到,就解决办法

8个回答

u010702433
u010702433   2017.01.17 09:30

getJxjlist();这个方法是创建,ckdClick() 这个是设置创建元素的事件。看顺序没错,但是getJxjlist创建用的ajax异步的,所以会先执行了ckdClick() 方法,所以找不到。将方法ckdClick() 放到 getJxjlist()方法里面你的循环完成之后。

showbo
showbo   Ds   Rxr 2017.01.17 20:29

ajax异步的,都没返回都已经执行ckdClick了,当然获取不到checkbox,ajax改为同步或者ckdClick放到getJxjlist()的ajax回掉中执行,由于你用$.post,是异步的无法配置同步(同步需要$.ajax),只能回掉里面执行ckdClick

 function getJxjlist() {
    var tp = $("#vjxj .li");
    var len = tp.length - 1;
    $.post("/wx/GetWxJxj", { page: _p },
       function (d, t, j) {
           if (t == "success") {
                //............原来的代码

                ckdClick() ////////////////
                     }
}, "json");

JE_GE
JE_GE   2017.01.16 21:40

直接$(":checkbox")试试了

qq_32824609
qq_32824609 试过了,不行
一年多之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2017.01.16 22:06

你是先执行的$("input:checkbox") ,后面再生成的dom 标签 ,所以找不到这个 ,需要等js动态加载完dom结构 ,再选
//你生成 dom的代码
$(document).ready(function{
$("input:checkbox")
})

qq_24972061
qq_24972061   2017.01.17 08:11

把你代码贴出来看看呗

qq_32824609
qq_32824609 代码在下边,你看一下吧
一年多之前 回复
qq_32824609
qq_32824609   2017.01.17 09:07
$(function () {
    $("#vjxj .li").remove();
    _p = 1;//设置起始页码
    getJxjlist();
    //sleep(600);
    ckdClick();
});
function sleep(numberMillis) {
    var now = new Date();
    var exitTime = now.getTime() + numberMillis;
    while (true) {
        now = new Date();
        if (now.getTime() > exitTime)
            return;
    }
}
function getJxjlist() {
    var tp = $("#vjxj .li");
    var len = tp.length - 1;
    $.post("/wx/GetWxJxj", { page: _p },
       function (d, t, j) {
           if (t == "success") {
               $(tp.eq(len)).remove();
               var datarows = d.rows.length;
               var tps = "";
               for (i = 0 ; i < datarows; i++) {
                   tps = "<div class=\"li\" style=\"width: 100%;\">"

                        + "<div class=\"bf fl\">"
                            + "<div>"
                            + '<img class="" style="width:317px;height:130px;" alt="" src="/Images/icon/jxj.png">'
                            + '<div class="sp" style="position: absolute;margin-top: 30px;\
                           margin-left:45px;\
                           width: 190px;\
                           height: 20px;\
                           font-size: 12px;">\
                    <p><span style="font:400 30px Simsun;color:white;font-weight:bold;">'+ d.rows[i].CouponMoney + '</span></p>\
                </div>'
                            + '<div class="sp" style="position: absolute;\
                           margin-top: 45px;\
                           margin-left: 105px;\
                           width: 190px;\
                           height: 20px;\
                           font-size: 22px; text-align:center">\
                    <p><span style="font:400 10px Simsun;color:#6d9cdc;font-size: 16px;font-weight:bold;">'+ d.rows[i].CouponName + '</span></p>\
                </div>'
                            + '<div class="sp" style="position: absolute;\
                           margin-top: 100px;\
                           margin-left: 90px;\
                           width: 220px;\
                           height: 20px;\
                           font-size: 12px; text-align:right">\
                    <p><span style="font:400 10px Simsun;color:#a6b0b0">有效期至 '+ d.rows[i].endtime + '</span></p>\
                </div>'
                            + '<div class="sp" style="position: absolute;\
                           margin-top: 55px;\
                           margin-left: 320px;\
                           width: 220px;\
                           height: 20px;\
                           font-size: 12px; text-align:left">\
                           <input value="' + d.rows[i].LimitMoney + '" class="ckbJxj" type="checkbox"/>\
                           <label style="color:red;font-size:13px;"></label>\
                           <input  type="text" value="' + d.rows[i].ID + '" style="display:none" />\
                           <input type="text" value="' + d.rows[i].CouponMoney + '" style="display:none" />\
                </div>'
                            + "</div>"
                             + "<div class=\"clearfix\"></div>"
                        + "</div>"
                       + "<hr style=\"width:100%; height:4px; background:#f5f5f5; border:none; \">"
                       + "</div>";
                   $("#vjxj").append(tps);
               }
               if (_p * 10 < d.total) {
                   var gd = "<div class=\"li\" style=\"height: 40px;display: flex;\"><a style=\"margin:0 auto;color:#666;font-size:2.3rem;\" href=\"javascript:getJxjlist()\">查看更多<img style=\"margin-left: 10px;width: 18px;height: 11px;\" src=\"/images/icon/arrow2.png\"></a></div>";
                   $("#vjxj").append(gd);
               }
               _p++;
           }
       }, "json");
}
function ckdClick() {

    //$('#vjxj').find(':checkbox').each(function () {
    //    alert($("input:checkbox").length);
    //});
    alert($('input:checkbox').length);
    $('input:checkbox').each(function () {
        alert(1);
    });
            }
Never_Heartache
Never_Heartache   2017.01.17 10:02

var isCMISChecked = $("#F_CMIS").is(":checked");我的这个是单个的CheckBox检查是否选中

u013270289
u013270289   2017.01.18 18:04

同上,你只要将每次异步加载的js里重新加载相关函数,就能取到对应的值,先下蛋,后生鸡。没蛋孵不出鸡

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
js--------getElementsByTagName(复选框的应用)
无标题文档 window.onload=function() { var oBtn=document.getElementById("btn"); var oBtn1=document.getElementById("btn1"); var oBtn2=document.getElementById("btn2"); var oDiv=document.getElementById("
input type button checkbox onclick 点击失效 无反应
全选 //全选/反选 function checked(){ alert("x"); }全选 上面这段代码,你觉得逻辑肯定行得通,觉得也会alert出一个x字符串符号出来,但是事实往往不是我们认为的这样 上面的结果是,点击复选框后,完全无效 具体的原因是 js定义了一系列保留关键字,也类似java或者其他编程语言一样,拥有自己的属性,自己的语法 js保留了自己独有
bootstrap-modal:弹出modal时input的checked的状态无法改变 | | input获取焦点不生效
1.每次弹出modal时 ,用 js 修改的 checked 状态不能实时更新<div class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header">
关于动态创建input checkbox的应用
业务场景: 为列表加上复选框,选中的则将值填充到一个文本框,最多允许填充10个.列表为动态创建的,可翻页. 代码实现: 1.对复选框的操作     // 复选框     var checkbox = document.createElement("input");     checkbox.setAttribute("type", "checkbox");     checkbo
js获取checkbox被选中的value值
js获取选中checkbox的value: $("input[type='checkbox']:checked").value; js获取选中checkbox的旁边的文本: $("input[type='checkbox']:checked").nodeValue; 例:               Document      function
js如何知道checkbox是否被选中,并且选中的话让input元素变为不可编辑
if(document.getElementById("checkboxID").checked){ alert("checkbox is checked"); }
js获得checkbox选中值及input后面的文本
js如何获得多个checkbox选中的值及input后面所跟的文本 验证js获得多个checkbox选中值及input后面所跟文本 function clickBjjb() { var checkboxValue= new Array(); var checkboxText= new Array(); var ch
checkbox的选择和赋值
苹果1 桃子1 香蕉1 梨 1 其它 其它 相应的js如下:(方法和radio中用到的完全一样) 获取checkbox的值 $("input[type='checkbox']:checked").val();  ******获取选中的checkbox的值 $("input[type='checkbox'][value='14']"
js获取所有checkbox的值的简单例子
<input type="checkbox" name="test" value="值1" />显示的内容 <input type="checkbox" name="test" value="值2" />显示的内容 <input type="checkbox" name="test" value="值3" />显示的内容
JS CheckBox 选中事件
 [html] view plaincopyprint? html>  script>  function SelectLeastOne(){          objName= document.getElementById("myform")             for (i=0; iobjName.length; i++){