【问题标题】:add more field using jquery使用 jquery 添加更多字段
【发布时间】:2022-01-16 07:57:40
【问题描述】:

我有 2 个输入字段,1 个用于图像,1 个用于视频。 当按下+添加更多按钮时,我想添加更多字段。 这是代码

<div class="row p-20 partPending">
<div class="col-lg-6">
<x-forms.file allowedFileExtensions="png jpg jpeg" class="mr-0 mr-lg-2 mr-md-2" :fieldLabel="__('app.partImage')" fieldName="part_image"
                            fieldId="part_image" />
</div>
<div class="col-lg-6">
<x-forms.file allowedFileExtensions=" mp4 avi " allowedFileSize=" 1mb" class="mr-0 mr-lg-2 mr-md-2" :fieldLabel="__('app.partVideo')" fieldName="part_video"
                            fieldId="part_video" />
</div>
</div>
 <div class="row px-lg-4 px-md-4 px-3 pb-3 pt-0 mb-3  mt-2">
 <div class="col-md-12">
 <a class="f-15 f-w-500" href="javascript:;" id="add-more"><i
 class="icons icon-plus font-weight-bold mr-1"></i>@lang('app.addMore')</a>
 </div>
 </div>
$("body").on("click",".add-more",function(){ 
var html = $(".partPending").first().clone();
$(html).find(".change").html("<label for=''>&nbsp;</label><br/><a class='btn btn-danger remove'>- Remove</a>");
$(".partPending").last().after(html);
});
 $("body").on("click",".remove",function(){ 
        $(this).parents(".partPending").remove();    
});

我怎样才能得到想要的结果。请帮忙

【问题讨论】:

  • 您对给定代码有什么疑问?有什么不适合它的吗?您尝试过什么来解决您的问题?你被困在哪里了?

标签: javascript php jquery


【解决方案1】:

您的问题是关于错误的 CSS 选择器:

$("body").on("click",".add-more",function(){ 

应该是:

$("body").on("click","#add-more",function(){ 

此外,您的代码将正确添加您想要的元素,但元素内容什么都不是,因此您无法查看它。 您可以为元素获取一些样式以进行查看:

.partPending {
   display:block;
   background:yellow;
   height: 20px;
   border:1px black solid;
   width:100%;
}

在 sn-p 中检查它:

$("body").on("click","#add-more",function(){ 
var html = $(".partPending").first().clone();
$(html).find(".change").html("<label for=''>&nbsp;</label><br/><a class='btn btn-danger remove'>- Remove</a>");
$(".partPending").last().after(html);
});
 $("body").on("click",".remove",function(){ 
        $(this).parents(".partPending").remove();    
});
div{
background : green;
}
.partPending {
   display:block;
   background:yellow;
   height: 20px;
   border:1px black solid;
  width:100%;
   }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="row p-20 partPending">
<div class="col-lg-6">
<x-forms.file allowedFileExtensions="png jpg jpeg" class="mr-0 mr-lg-2 mr-md-2" :fieldLabel="__('app.partImage')" fieldName="part_image"
                            fieldId="part_image" />
</div>
<div class="col-lg-6">
<x-forms.file allowedFileExtensions=" mp4 avi " allowedFileSize=" 1mb" class="mr-0 mr-lg-2 mr-md-2" :fieldLabel="__('app.partVideo')" fieldName="part_video"
                            fieldId="part_video" />
</div>
</div>
 <div class="row px-lg-4 px-md-4 px-3 pb-3 pt-0 mb-3  mt-2">
 <div class="col-md-12">
 <a class="f-15 f-w-500" href="javascript:;" id="add-more"><i
 class="icons icon-plus font-weight-bold mr-1"></i>@lang('app.addMore')</a>
 </div>
 </div>

【讨论】:

  • 我已经通过将 .add-more 更改为 #add-more 来使其工作,现在它正在添加更多字段但是当我选择图像时它不起作用
  • 那是另一个问题。
  • 请告诉我它是如何工作的
  • 当您说:“当我选择图像时它不起作用”时,我无法理解您究竟需要什么。它需要更多的细节、代码和清晰度才能被理解。
猜你喜欢
  • 2015-01-10
  • 2012-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2020-01-20
  • 2014-04-28
  • 1970-01-01
  • 2022-08-18
相关资源
最近更新 更多