powerApower 2017-09-06 11:12 采纳率: 23.1%
浏览 948
已结题

jquery data() undifined

 //文件上传
                $("#fileuploadsave").click(function(){
                    $.ajaxFileUpload({
                        url: 'http://localhost:8080/Data/upload/uploads.do', //用于文件上传的服务器端请求地址
                        secureuri: false, //是否需要安全协议,一般设置为false
                        fileElementId: 'file1', //文件上传域的ID
                        dataType: 'json', //返回值类型 一般设置为json
                        success: function (result){ //服务器成功响应处理函数
                            var data=result.data;

                            for(var i=0;i<data.length;i++){
                                var file_id=data[i].file_id;
                                var file_name=data[i].file_name;
                                var relative_path=data[i].relative_path;
                                console.log(relative_path);
                                var id=data[i].id;

                                var image1="<img src='"+relative_path+"'/>";
                                    image1+="<span>"+file_name+"</span>";
                                var file_a="<a class='a1'>删除</a>";

                                var $file_a=$(file_a);
                                $file_a.data("file_id",file_id);
                                console.log($file_a.data("file_id"));//第一次打印

                                var image_a=image1+file_a;
                                var $image_a=$(image_a);
                                //显示图片
                                $("#upload_img").append($image_a);

                            }
                        },
                        error:function(){
                            alert("fjlasjf");
                        }

                    });
                });

                $("#upload_img").on("click",".a1",function(){
                    var file_id=$(this).data("file_id");//第二次打印
                    console.log(file_id);
                });



                <div id="upload_img"></div>

为什么第一次可以打印出,file_id值,第二次就不可以了呢,经常遇到这种使用data(),绑定数据异常,求解

  • 写回答

5条回答

  • Go 旅城通票 2017-09-06 13:40
    关注

    .a1是什么?ajaxfileupload要上传的file对象file1?

    如果是,由于ajaxfileupload是将原来的对象添加到隐藏表单提交,然后新建一个file对象放到原来的位置,所以你第二次提交时click获取的是新的file没有data缓存的数据的,将file_id作为全局变量,通过变量获取,而不是重新

    评论

报告相同问题?

悬赏问题

  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?