jQuery 函数无法使用 .load() 刷新 div 标签

我正在使用 ajax post 将我的值发送到(uploadsignupeditadvcheck.php)。提交成功后,我需要刷新我的div标签(galleryadv)以准备下次提交。我的 ajax 提交成功,但刷新后我的 jquery 函数不再工作。我很感激你们,可以帮助解决我的情况。谢谢。

https://img1.mukewang.com/64e01ef500010b4806350260.jpg

索引.php


<script>

    function uploadadv(){

        

          var idadv = document.getElementById("idadv").value;

          var companynameadv = document.getElementById("companynameadv").value;  

          var usernameadv = document.getElementById("usernameadv").value;        

          var aboutmeadv = $("#aboutmedecsadv").val();

          var catadv = document.getElementById("catadv").value;

          var typeadv = document.getElementById("typeadv").value;

          var keywordadv = document.getElementById("keywordadv").value;  

          var addressadv = document.getElementById("addressadv").value;    

          var countryadv = document.getElementById("countryadv").value;

          var zipadv = document.getElementById("zipadv").value;

          var stateadv = document.getElementById("stateadv").value;

          var cityadv = document.getElementById("cityadv").value; 

          var urladv = document.getElementById("urladv").value; 

          var priceadv = document.getElementById("priceadv").value; 

          var advstamp = document.getElementById("advstamp").value; 

        

       

        jQuery.ajax({

        type: "POST", // HTTP method POST or GET

        url: "uploadsignupeditadvcheck.php", //Where to make Ajax calls

        dataType:"text", // Data type, HTML, json etc.

        data:myData, //Form variables

        success:function(data){ 

            

           $('#messageeditcheckadv').html(data);


        },



uploadsignupeditadvcheck.php


$(".galleryadv").load(location.href+" .galleryadv>*");


天涯尽头无女友
浏览 98回答 1
1回答

SMILET

您正在覆盖之前附加事件处理程序的 dom 元素。因此,您首先将单击事件附加到按钮,然后加载新的 HTML 并覆盖附加了处理程序的按钮,以便新按钮没有附加事件处理程序,这就是它们不响应单击事件的原因。将事件处理程序附加到不会被覆盖的父元素,或者在加载并用新 html 覆盖后重新附加事件处理程序。我可能会选择将事件附加到其父级,这样当事件在 dom 树上传播时它就会得到处理。var buttons_parent = $('.galleryadv');buttons_parent.on('click', '.avatar-galleryadv', function(){&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; $(this).hide(0);&nbsp; &nbsp;&nbsp; &nbsp; $('.avatar-previewgalleryadvsave').fadeIn(300);});buttons_parent.on('click', '.avatar-previewgalleryadvsave', function(){&nbsp; &nbsp; $(this).hide(0);&nbsp; &nbsp;&nbsp; &nbsp; $('.avatar-galleryadv').fadeIn(300);});这代替了btn_edit.on("click", function() {...和 btn_save.on("click", function() {...。另外,我不会通过保存在变量中的引用来引用处理程序内的按钮,因为这些按钮在覆盖它们后将无效,因此我总是通过它们的类名来查找它们。这样,即使按钮被覆盖,处理其单击事件的处理程序也完好无损。
打开App,查看更多内容
随时随地看视频慕课网APP