急!急!急!急!急! Fileinput的问题

hu18359 2016-11-30 08:57:43
关于bootstrap 的fileinput的问题
我JS是这样调用的
      var date = Date.parse(new Date())/1000; 
var a;
$(function(){
$(".upload").ready(function(){
var url_b = $(this).find(".file").attr('id');
initFileInput(url_b);
});
})

iniFileinput()是fileinput的初始函数,url_b是取得上传的id,因为是多个上传框。但是这里iniFileInput()取不到url_b的值
PS:如果我直接传入个id是可以 运行成功的。想要自动获取id就失败了 有没有大大帮忙看下
...全文
241 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hu18359 2016-12-02
  • 打赏
  • 举报
回复

    $(".upload").click(function(){
          var url_b = $(this).find(".file").attr('id');
          initFileInput(url_b);     
    }); 

先要谢谢各位的帮忙 我换成click触发就可以拿到点击的input的id了,但是运行不了iniFileinput()(这是bootstrap的fileinput的初始函数),提示的是iniFlieinput不是个function //是fileinput的初始方法

    function initFileInput(ctrlName) {
      var control = $('#' + ctrlName); 
      control.fileinput({
           language: 'zh', 
           uploadUrl: "图片处理的url", //上传后台操作的方法  
           uploadAsync: true, //设置上传同步异步 此为同步  
           maxFileSize: 200000, 
           showCaption:true,
           showPreview:true,
           showRemove:true,
           initialPreview:false, 
           dropZoneEnabled:false,
           previewFileIcon: '<i class="fa fa-file"></i>', 
           allowedFileExtensions: ['mp4','doc'], //限制上传文件后缀  
            }).on("fileuploaded", function (event, data, id, index){
                  var video_path = date+'.mp4';
                  $('.upload').find('.file-caption-name').html(video_path);
                  $('.upload').find('#param_video').val(video_path);
        });

    }   
发现initFileInput()只要收到触发的的id就提示错误,换成each()触发可以运行,但是所有的input都会变成上传第一个的文件 这是为毛累 PS:一个页面有多个input上传 想要实现的效果是点击当前的Input就会触发iniFileInput(),上传当前文件
scscms太阳光 2016-12-01
  • 打赏
  • 举报
回复
$(function(){})其实就是document的ready事件,而document.ready是在所有dom节点ready事件之后。从而你的代码是不会触发的。试试这样:
    $(function(){
        initFileInput($(".upload .file").attr('id'));
    })
forwardNow 2016-12-01
  • 打赏
  • 举报
回复
预览:点击我进行访问


<div class="upload">
    <input id="input-id-1" type="file" class="file" data-preview-file-type="text" >
    <input id="input-id-2" type="file" class="file" data-preview-file-type="text" >
    <input id="input-id-3" type="file" class="file" data-preview-file-type="text" >
</div>

<script>
    $( document ).ready( function () {
        var id,
            $file
        ;
        $file = $( ".upload" ).find( ".file" );
        id = $file.attr( "id" );
        console.info( "id: " + id ); //=> input-id-1 :只去第一个input的id

        $file.each( function () {
            var _id
            ;
            _id = $( this ).attr( "id" );
            console.info( "_id: " + _id );
        } );
        /*
         _id: input-id-1
         _id: input-id-2
         _id: input-id-3
         */

    } );
</script>

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧