Mam przycisk, który wydrukuje formularz z danymi przygodnym Różnym ID. Każda forma zawiera unikalny identyfikator.

Problem polega na tym, że strona główna nie znajdują tych identyfikatorów

Js (formularz wyświetlania danych)

$(document).on("click", ".e-manage", function(e){

var element     = $(this);
var attracID    = element.attr("data-attracID");

data = "attracID=" + attracID;

$.ajax ({
  type: 'GET',
  url: 'attraction-manage.php',
  data: data,
  async: false,
  success: function (data) 
      {
        $("#attrac"+attracID).append(data);
      }
  });

    e.preventDefault();

});

$(document).on("click", ".close_form", function(e){
    formID = $(this).parents("form").attr('id');
    $("#attrac-form-"+formID).hide();  **// this part doesn't works**

    e.preventDefault();
});

Wyniki danych:

<form id="attrac-form-<?PHP echo $mainIndex['id'] ?>" action="#">
</form>

<form id="attrac-form-<?PHP echo $mainIndex['id'] ?>" action="#">
</form>

<form id="attrac-form-<?PHP echo $mainIndex['id'] ?>" action="#">
</form>
1
Roi 5 czerwiec 2018, 14:26

3 odpowiedzi

Najlepsza odpowiedź

Wystarczy usunąć ciąg, Twój kod będzie taki:

$("#"+formID).hide();

Jak powiedział Furquan Khan.

2
Matheus Pitz 5 czerwiec 2018, 11:37

Nie wspomniałeś, który element HTML ma close_form klasa. Ale nadal, aby dać ci kierunek,

$(document).on("click", ".close_form", function(e){
    formID = $(this).parents("form").attr('id');
    $(formID).hide();  **// Do not need the string before `formID` variable as it already contains it.**

    e.preventDefault();
});
0
Himanshu Upadhyay 5 czerwiec 2018, 11:31

Nie sądzę, musisz to zrobić

$("#attrac-form-"+formID).hide();

Możesz bezpośrednio napisać

$('#'+formID).hide();

Masz już identyfikator formularza za pomocą formID = $(this).parents("form").attr('id');

0
Furquan Khan 5 czerwiec 2018, 11:37