首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用另一个按钮替换按钮

用另一个按钮替换按钮
EN

Stack Overflow用户
提问于 2021-11-04 15:17:55
回答 1查看 40关注 0票数 0

我正在做一个CV生成器,我已经用jQuery做了一个添加和删除表单的按钮,但当我添加时,它就会关闭,所以我可以添加更多,但第一个表单留在那里,我不能删除第一个表单。

示例

你可以看到它是如何下降的,我需要一个按钮,这样我就可以删除第一个按钮:

正如您在图片中看到的,我添加了一个表单,然后出现了一个表单,但是add按钮像它应该的那样向下移动,因为我把它放在了div的一边。但是如果有人想要删除第一个表单,我需要添加一个红色按钮来删除。

代码语言:javascript
复制
$(document).ready(function() {
  $(".add-more").click(function(){
    var html = $(".copy").html();
    $(".after-add-more").after(html);
  });
  
  $("body").on("click",".remove",function(){
    $(this).parents(".control-group").remove();
  });
});

});

})(this.jQuery);
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css" integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">

<div class="col-xl-12">
  <div id="test1" class="dashboard-box">

    <!-- Headline -->
    <div class="headline">
      <h3><i class="icon-material-outline-school"></i> Obrazovanje</h3>
    </div>
    <div class="content with-padding">
      <div class="forma">
        <div class="row">
          <label class="control-label col-xl-12" for="ContactNo"></label>
          <div class="col-xl-12">
            <div class="input-group control-group after-add-more">

              <div class="row">
                <div class="col-xl-3">
                  <label>Institucija</label>
                  <input name="cv_obrazovanje_institucija[]" type="text" placeholder="Upišite vašu instituciju">

                </div>
                <div class="col-xl-3">
                  <label>Zvanje</label>
                  <input name="cv_obrazovanje_zvanje[]" type="text" placeholder="Nivo znanja veštine, opširniji opis...">

                </div>
              </div>
              <div class="row">
                <div class="col-xl-3">
                  <label>Početak obrazovanja</label><input type="date" name="cv_obrazovanje_pocetak[]">
                </div>
                <div class="col-xl-3">
                  <label>Kraj obrazovanja</label><input type="date" name="cv_obrazovanje_kraj[]">
                </div>
              </div>
              <div class="checkbox">
                <input name="cv_obrazovanje_trenutno_checkbox[]" type="checkbox" id="chekcbox">
                <label for="chekcbox"><span class="checkbox-icon"></span>Trenutno obrazovanje</label>
              </div>
            </div>
          </div>
          <!-- Dugme za dodavanje -->
          <div class="input-group-btn">
            <button class="btn btn-success add-more" type="button" style="padding-left: 15px;"><span class="button ripple-effect">Dodajte</span></button>
          </div>

          <!-- Dugme za dodavanje -->
          <div class="copy hide" style="display: none;">
            <div class="control-group input-group" style="margin-top:10px">
              <div class="row">
                <div class="col-xl-3">
                  <label>Institucija</label>
                  <input name="cv_obrazovanje_institucija" type="text" placeholder="Upišite vašu instituciju">

                </div>
                <div class="col-xl-3">
                  <laabel>Zvanje</label>
                    <input name="cv_obrazovanje_zvanje" type="text" placeholder="Nivo znanja veštine, opširniji opis...">

                </div>
              </div>
              <div class="row">
                <div class="col-xl-3">
                  <label>Početak obrazovanja</label><input type="date" name="cv_obrazovanje_pocetak">
                </div>
                <div class="col-xl-3">
                  <label>Kraj obrazovanja</label><input type="date" name="cv_obrazovanje_kraj">
                </div>
              </div>
              <div class="checkbox">
                <input name="cv_obrazovanje_trenutno_checkbox" type="checkbox" id="chekcbox2">
                <label for="chekcbox2"><span class="checkbox-icon"></span>Trenutno obrazovanje</label>
              </div>

              <div class="input-group-btn">
                <button class="btn btn-danger remove" type="button"><span class="button ripple-effect" style="background-color: #B31C1C;">Ukloni</span></button>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- Button -->
  <div class="col-xl-12">
    <a href="#" class="button ripple-effect big margin-top-30">Snimite promene</a>
  </div>
</div>

EN

回答 1

Stack Overflow用户

发布于 2021-11-04 15:55:14

请考虑以下内容。

代码语言:javascript
复制
$(function() {
  $(".add-more").click(function() {
    var html = $(".copy").html();
    if (!$(this).hasClass("clicked")) {
      console.log("Adding Button");
      $("<div>", {
        class: "input-group-btn"
      }).appendTo($(".row:eq(0) .input-group:eq(0)").eq(0));
      $("<button>", {
        class: "btn btn-danger remove",
        type: "button"
      }).html("<span class='button ripple-effect' style='background-color: #B31C1C;'>Ukloni</span>").appendTo($(".row:eq(0) .input-group:eq(0) .input-group-btn"));
      $(this).addClass("clicked");
    }
    $(".after-add-more").after(html);
  });
  $("body").on("click", ".remove", function() {
    $(this).parents(".control-group").remove();
  });
});
代码语言:javascript
复制
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<div class="col-xl-12">
  <div id="test1" class="dashboard-box">
    <!-- Headline -->
    <div class="headline">
      <h3><i class="icon-material-outline-school"></i> Obrazovanje</h3>
    </div>
    <div class="content with-padding">
      <div class="forma">
        <div class="row">
          <label class="control-label col-xl-12" for="ContactNo"></label>
          <div class="col-xl-12">
            <div class="input-group control-group after-add-more">
              <div class="row">
                <div class="col-xl-3">
                  <label>Institucija</label>
                  <input name="cv_obrazovanje_institucija[]" type="text" placeholder="Upišite vašu instituciju">
                </div>
                <div class="col-xl-3">
                  <label>Zvanje</label>
                  <input name="cv_obrazovanje_zvanje[]" type="text" placeholder="Nivo znanja veštine, opširniji opis...">
                </div>
              </div>
              <div class="row">
                <div class="col-xl-3">
                  <label>Početak obrazovanja</label><input type="date" name="cv_obrazovanje_pocetak[]">
                </div>
                <div class="col-xl-3">
                  <label>Kraj obrazovanja</label><input type="date" name="cv_obrazovanje_kraj[]">
                </div>
              </div>
              <div class="checkbox">
                <input name="cv_obrazovanje_trenutno_checkbox[]" type="checkbox" id="chekcbox">
                <label for="chekcbox"><span class="checkbox-icon"></span>Trenutno obrazovanje</label>
              </div>
            </div>
          </div>
          <!-- Dugme za dodavanje -->
          <div class="input-group-btn">
            <button class="btn btn-success add-more" type="button" style="padding-left: 15px;"><span class="button ripple-effect">Dodajte</span></button>
          </div>
          <!-- Dugme za dodavanje -->
          <div class="copy hide" style="display: none;">
            <div class="control-group input-group" style="margin-top:10px">
              <div class="row">
                <div class="col-xl-3">
                  <label>Institucija</label>
                  <input name="cv_obrazovanje_institucija" type="text" placeholder="Upišite vašu instituciju">
                </div>
                <div class="col-xl-3">
                  <laabel>Zvanje</label>
                    <input name="cv_obrazovanje_zvanje" type="text" placeholder="Nivo znanja veštine, opširniji opis...">
                </div>
              </div>
              <div class="row">
                <div class="col-xl-3">
                  <label>Početak obrazovanja</label><input type="date" name="cv_obrazovanje_pocetak">
                </div>
                <div class="col-xl-3">
                  <label>Kraj obrazovanja</label><input type="date" name="cv_obrazovanje_kraj">
                </div>
              </div>
              <div class="checkbox">
                <input name="cv_obrazovanje_trenutno_checkbox" type="checkbox" id="chekcbox2">
                <label for="chekcbox2"><span class="checkbox-icon"></span>Trenutno obrazovanje</label>
              </div>
              <div class="input-group-btn">
                <button class="btn btn-danger remove" type="button"><span class="button ripple-effect" style="background-color: #B31C1C;">Ukloni</span></button>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <!-- Button -->
  <div class="col-xl-12">
    <a href="#" class="button ripple-effect big margin-top-30">Snimite promene</a>
  </div>
</div>

看起来你只想在第一次点击时添加按钮。我们可以快速检查某个Class是否存在,如果它不存在,我们可以执行一次性操作,然后添加Class。

然后,只需添加适当的元素即可。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69841564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档