Динамическая функция slideToggle с заданными параметрами идентификатора класса html - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть вопрос о создании динамической функции jQuery slideToggle.У меня есть шаблон HTML, как показано ниже:

<h4 id="client" class="section-title">
 <div class="sect-icon"></div> 
 <span>Client Info</span> </h4>
    <div class="form-row" id="client_data">
      <div class="form-group col-md-4">
        <label for="id_client_name">Name</label>
        <input class="form-control" disabled value="{{client.client_name}}">
      </div>
     </div>

И функция jQuery как:

$(document).ready(function () {
$("#client").click(function () {

    if ($('#client_data').is(':visible')) {
        $("#client").removeClass("section-title");
        $("#client").addClass("section-title closed");
    } else {
        $("#client").removeClass("section-title closed");
        $("#client").addClass("section-title");
    }
    $("#client_data").slideToggle("fast");
    });

Это работа.Но эта функция jQuery предназначена только для конкретного класса HTML.Если я добавлю другой класс в HTML, то я должен скопировать этот jQuery и мимо и редактировать часть идентификатора.Но я хочу написать одну функцию jQuery для динамического идентификатора HTML.Я имею в виду, как я могу использовать выше функцию jQuery для ниже HTML, не создавая новый jQuery

 <h4 id="equip" class="section-title">
  <div class="sect-icon"></div> <span>Calibrated Equipment</span></h4>
    <div class="form-row" id="equip_data">
       <div class="form-group col-md-4">
          <label for="id_brand_name">Brand</label>
          <input class="form-control" disabled value="{{equip.brand_name}}">
       </div>
  </div>

1 Ответ

0 голосов
/ 06 февраля 2019

Когда я был студентом университета, учитель сказал нам, что повторяющийся код называется «функцией»:

function myStuff(idText) {
    $("#" + idText).click(function () {

    if ($('#' + idText + "_data").is(':visible')) {
        $("#" + idText).removeClass("section-title").addClass("section-title closed");
    } else {
        $("#" + idText).removeClass("section-title closed").addClass("section-title");
    }
    $("#" + idText).slideToggle("fast");
}

И вы передаете идентификатор myStuff в любое время, например:

$(document).ready(function () {
    myStuff("client");
});
...