如何引用动态创建的变量

问题描述 投票:0回答:1

我想知道是否可以引用动态创建的变量,如果可以,怎么办?

我在此站点上创建了许多表格,在表格的底部都有p元素,是一个按钮,如果我单击该按钮,我想传输在此表格中特定创建的变量(IdJB)。我在代码中用命令标记了变量。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Jobs</title>
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var Id = sessionStorage.getItem('Id');
var status = 0;
var nummer = 0;
$.ajax({
type: "POST",
url: "http://localhost/jQuery&PHPnew/Markt.N.php",
data:{status:status},
success: function(data){
    var anzahl = data;
    status = 1;
    while (anzahl>nummer) {
      nummer++;
    $.ajax({
        type: "POST",
        url: "http://localhost/jQuery&PHPnew/Markt.N.php",
        data:{nummer:nummer, status:status},
        success: function(data){
          var Daten = JSON.parse(data);
          var Ausgabebereich = document.getElementById('main');
          var IdJB = Daten.id;
          window.IdJB = IdJB; //This Variable !!!!!!!!!!!!!
          var f = document.createElement("form");

          var pInhalt = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.inhalt);
          pInhalt.appendChild(Inhalt);
          f.appendChild(pInhalt);

          var pDatum = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.datum);
          pDatum.appendChild(Inhalt);
          f.appendChild(pDatum);

          var pUhrzeit = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.uhrzeit);
          pUhrzeit.appendChild(Inhalt);
          f.appendChild(pUhrzeit);

          var pGehalt = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.gehalt);
          pGehalt.appendChild(Inhalt);
          f.appendChild(pGehalt);

          var pDauer = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.dauer);
          pDauer.appendChild(Inhalt);
          f.appendChild(pDauer);

          var pAdresse = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.adresse);
          pAdresse.appendChild(Inhalt);
          f.appendChild(pAdresse);

          var pNam_ersteller = document.createElement('p');
          var Inhalt = document.createTextNode(Daten.nam_ersteller);
          pNam_ersteller.appendChild(Inhalt);
          f.appendChild(pNam_ersteller);

          var bInhalt = document.createElement('button');
          var Inhalt = document.createTextNode("Senden");
          bInhalt.appendChild(Inhalt);
          bInhalt.setAttribute("type", "button");
          bInhalt.setAttribute("onclick", "zuJB()");
          f.appendChild(bInhalt);

          Ausgabebereich.appendChild(f);
          $(document).on( 'click', 'button', function(){

            sessionStorage.setItem('IdJB', IdJB); //Here !!!!!!!!!!!!!
            alert(IdJB);
            window.location = "http://localhost/jQuery&PHPnew/JobBlock.html";

          });
        }

    })
    }
    }
    })
    $("#sub").click(function(){
    window.location = "http://localhost/jQuery&PHPnew/Markt.html";
    })
    })

    </script>
</head>
<body>
<button id="sub">Update</button>
<a href="Markt.html">Alle Jobs</a>
<a href="AAAngebote.html">Meine Jobs</a>
<a href="Einstellungen.html">Einstellungen</a>
<main id="main">

</main>
</body>
</html>
javascript php jquery html
1个回答
0
投票

我可能会误解您的问题,但如果不是这样:为了引用动态创建的元素,只需在创建元素并将其放入DOM之后实例化单击处理程序。一种简单的处理方法是让函数像这样生成标签:

function appendTag(parent, child){
  parent.append(child)
  child.click(function(){
    //Click code here
  });
}
© www.soinside.com 2019 - 2024. All rights reserved.