搜尋

首頁  >  問答  >  主體

javascript - jq 上傳圖片成功後新增一個新的上傳框時出現問題

第一個評論上傳圖片時候沒有問題,當第二個評論時,新添加的上傳框受到了上一個的影響,本來應該出現一個,但是出現了2個,求助是什麼原因造成

##html部分

<p class="evaluation-upload-block">

           <p class="nctouch-upload-img">
            <p class="nctouch-upload">
                <a href="javascript:void(0);">
                    <span><input type="file" hidefocus="true" size="1" goods-id="1667" val="0" class="input-file" name="file" id=""></span>
                    <p><i class="icon-upload"></i></p>
                  </a>
                
                <input type="hidden" name="goods[1667][evaluate_image][0]" value="">
            </p>
            <img class="upload_tips" src="/wap/images/upload_tips.png">
           </p>

</p>

jq部分

$('.evaluation-upload-block').on('click','input[name="file"]',u);
function u(){

$(this).unbind('click');        
    $('input[name="file"]').ajaxUploadImage({
        url: ApiUrl + "/index.php?act=sns_album&op=file_upload",
        data: {
            key: e
        },
        start: function(e) {
            e.parent().after('<p class="upload-loading"><i></i></p>');
            e.parent().siblings(".pic-thumb").remove()
        },
        success: function(e, a) {
            checkLogin(a.login);
            if (a.datas.error) {
                e.parent().siblings(".upload-loading").remove();
                $.sDialog({
                    skin: "red",
                    content: "图片尺寸过大!",
                    okBtn: false,
                    cancelBtn: false
                });
                return false
            }                
            e.parent().after('<p class="pic-thumb"><img src="' + a.datas.file_url + '"/></p>');
            e.parent().siblings(".upload-loading").remove();
            e.parents("a").next().val(a.datas.file_name);
            e.parents(".nctouch-upload-img").find('.upload_tips').remove();
            var num = e.attr('val');
                num = parseInt(num) + 1;
            if(num < 6){
                var goods_id = e.attr('goods-id');                
                var i = '<p class="nctouch-upload-img">'+
                        '<p class="nctouch-upload">' +
                        '<a href="javascript:void(0);">' +
                        '<span><input type="file" hidefocus="true" size="1" goods-id="'+ goods_id +'" val="'+ num +'"  class="input-file" name="file" id=""></span>'+
                        '<p><i class="icon-upload"></i></p>' +
                        '</a>'+
                        '<input type="hidden"  name="goods['+ goods_id +'][evaluate_image]['+ num +']" value="" />'+
                        '</p>'+
                        '</p>';
                e.parents(".nctouch-upload-img").after(i);
            }
        }
    });

};

扔个三星炸死你扔个三星炸死你2701 天前962

全部回覆(1)我來回復

  • 世界只因有你

    世界只因有你2017-07-05 10:42:43

    解決了,是click事件累加的問題
    其實直接執行u()就好了

    回覆
    0
  • 取消回覆