jquery
  • asp.net-mvc
  • 2017-04-10 67 views 2 likes 
    2

    我有下面的代码,当“浏览”单击时,我想将相同的内容放在div“projectidAppe”中,并将“浏览”更改为“删除”按钮。我已经做到了这一点使用下面的jQuery的,如何使用jQuery添加多个时间到一个div?

    $(document).on("change", "#idProjectTitle", function(e) { 
     
        var datatoappend = ' <div class="form-group file-uploader"><div class="input-group col-xs-12"><span class="input-group-addon"><i class="glyphicon glyphicon-picture"></i></span><input type="text" id="txtProjectTitle" style="height: 35px !important" class="form-control input-lg" disabled placeholder="Upload Image"><div class="input-group-btn"><div class="browse btn btn-primary"><i class="glyphicon glyphicon-search"></i> Browse<input type="file" accept="image/*" id="idProjectTitle" multiple="multiple" name="fileUploadphoto" class="file"></div></div></div></div>'; 
     
        $("#txtProjectTitle").attr('placeholder', $(this).val().split('\\').pop()); 
     
        var btnDelete = '<div id="idImgDelete" class="browse btn btn-primary">Delete</div>'; 
     
        $('#clearbtn').html(''); 
     
        $('#clearbtn').append(btnDelete); 
     
        $("#projectidAppe").append(datatoappend); 
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
     
    <label for="exampleInputEmail1">Project Photos</label> 
     
    <div class="form-group file-uploader"> 
     
        <div class="input-group col-xs-12"> 
     
        <span class="input-group-addon"> 
     
         <i class="glyphicon glyphicon-picture"></i> 
     
        </span> 
     
        <input type="text" id="txtProjectTitle" style="height: 35px !important" class="form-control input-lg" disabled placeholder="Upload Image"> 
     
        <div id="clearbtn" class="input-group-btn"> 
     
         <div class="browse btn btn-primary"> 
     
         <i class="glyphicon glyphicon-search"></i> Browse 
     
         <input type="file" accept="image/*" id="idProjectTitle" multiple="multiple" name="fileUploadphoto" class="file"> 
     
         </div> 
     
        </div> 
     
        </div> 
     
    </div>

    但现在,没有发生分别txtProjectTitleplaceholder内的每个图像的名称。文件上传后,如何显示每一个删除按钮以及如何删除一行时点击删除按钮?

    +0

    重复'id'属性是无效的HTML。改为使用类名称。并且,由于您动态添加元素,因此您需要使用[事件委托](https://learn.jquery.com/events/event-delegation/) –

    回答

    1

    你的HTML:

    <div id="projectidAppe"> 
    <label for="exampleInputEmail1">Project Photos</label> 
    <div class="form-group file-uploader"> 
        <div class="input-group col-xs-12"> 
        <span class="input-group-addon"> 
         <i class="glyphicon glyphicon-picture"></i> 
        </span> 
        <input type="text" id="txtProjectTitle-0" style="height: 35px !important" class="form-control input-lg" disabled placeholder="Upload Image"> 
        <div id="clearbtn-0" class="input-group-btn"> 
         <div class="browse btn btn-primary"> 
         <i class="glyphicon glyphicon-search"></i> Browse 
         <input type="file" accept="image/*" class="idProjectTitle" multiple="multiple" name="fileUploadphoto" class="file"> 
         </div> 
        </div> 
        </div> 
    </div> 
    </div> 
    </div> 
    

    您的JS:

    var count = 1; 
    $(document).on("change", ".idProjectTitle", function(e) { 
        var datatoappend = ' <div class="form-group file-uploader"><div class="input-group col-xs-12"><span class="input-group-addon"><i class="glyphicon glyphicon-picture"></i></span><input type="text" id="txtProjectTitle-'+count+'" style="height: 35px !important" class="form-control input-lg" disabled placeholder="Upload Image"><div id="clearbtn-'+count+'" class="input-group-btn"><div class="browse btn btn-primary"><i class="glyphicon glyphicon-search"></i> Browse<input type="file" accept="image/*" class="idProjectTitle" multiple="multiple" name="fileUploadphoto" class="file"></div></div></div></div>'; 
        $("#txtProjectTitle-"+(count-1)).attr('placeholder', $(this).val().split('\\').pop()); 
        var btnDelete = '<div id="idImgDelete" class="browse btn btn-primary">Delete</div>'; 
        $('#clearbtn-'+(count-1)+' .browse').css('display','none'); 
        $('#clearbtn-'+(count-1)).append(btnDelete); 
        $("#projectidAppe").append(datatoappend); 
        count ++; 
    }); 
    $(document).on("click", "#idImgDelete",function(){ 
        $(this).parentsUntil(".form-group.file-uploader").remove(); 
    }); 
    
    +0

    第二次图像名称未绑定到文本框内。 – AbhiJA

    +0

    @AbhiJA - ids只能绑定到具有该id的第一个元素。而不是#idImgDelete使用一个类,.idImgDelete –

    +0

    现在正在工作中删除。但第二个创建的行不像第一行。我怎样才能绑定每个新行上的每个文件名? – AbhiJA

     相关问题

    • 暂无相关问题^_^