ugrás a tartalomhoz

Ajaxos frissítés utáni tartalmat nem látják a jquery kódjaim - HELP !!

53éves_nagypapa · 2014. Aug. 13. (Sze), 23.47
Hahó !
Valaki magyarázza el miért van ez.
KÉRLEK !

Lapba be vannak húzva jquery kódok.
Az egyik div tartalmát ajaxos hívással frissítem,
és onnantól a frissült tartalomban
nem működnek az előzőleg működő jquery kódjaim.

Mi a teendő ?
 
1

Mivel semmi konkrétumot nem

Joó Ádám · 2014. Aug. 14. (Cs), 01.00
Mivel semmi konkrétumot nem írtál, ezért csak feltételezni tudom, hogy a korábban csatolt eseménykezelőidről beszélsz. Ha kicseréled a DOM egy ágát, akkor az elemeihez csatolt eseménykezelők logikus módon elvesznek.

Ahhoz, hogy a jövőben beszúrt elemekre is vonatkozzanak az eseménykezelőid, az on() metódussal egy felmenőjükhöz kell csatolnod őket, a kiválasztót paraméterként átadva.
2

Konkrétan

53éves_nagypapa · 2014. Aug. 14. (Cs), 11.21
Csak minta a problémámra.


<script type="text/javascript" src="jquery-1.10.1.min.js"></script>
<style>
#fc { position: absolute;left: 20px;top: 20px;width: 200px;height: 200px; }
#din_cont {position: absolute;left: 250px;top: 20px;width: 200px;height: 200px;}
</style>

<script type="text/javascript">

 $(document).ready(function() {

    $("#kuld").click(function () {

       $.ajax({
         type:"POST",
         data:$('#choose').serialize(),
         dataType: "text",
         url:"kezel.php",
         }).done(function(message)
         {
         $('#fc').html(message);
         $('#din_cont').load('check_list.php');
         }).fail(function(jqXHR, textStatus, errorThrown){
         alert(textStatus + ": " + errorThrown);
       });

     });


     /*________________________*/


      // EZ NEM MUKODIK AJAX LOAD UTAN <------------!!!!
      $("#choose input").click(function() {
            if ($(this).is(':checked')) {
                 alert('aha');
            }
      });

      /*________________________*/


});

</script>

</head>
<body>



<div id="din_cont">

    <!-- include check_list.php start-->
    <form id="choose">
       <input type="checkbox" name="bagoly">bagoly<br />
       <input type="checkbox" name="roka">roka<br />
       <input type="checkbox" name="pocok">pocok<br />
       <button id="kuld">kuld</button>
    </form>
    <!-- include check_list.php end-->

</div>

<div id="fc">
  some tex+img
</div>



Hogy kellene az on() metódussal egy felmenőjükhöz csatolni ?
3

Lecseréled

Poetro · 2014. Aug. 14. (Cs), 13.22
Mivel teljesen lecseréled a #choose elemet, ezért ezzel el is távolítod róla az eseménykezelőt. Amit tehetsz, hogy elolvasod, hogyan működik az on metódus, és átírod annak megfelelően a kódodat, vagy pedig az AJAX kérés utána újra felrakod az eseménykezelőt.
4

Így e

szabo.b.gabor · 2014. Aug. 14. (Cs), 13.48
      /*________________________*/


      // EZ MUKODIK AJAX LOAD UTAN <------------!!!! 
      $("#din_cont").on('click','#choose input',function() {
            if ($(this).is(':checked')) { 
                 alert('aha');
            }
      });

      /*________________________*/
      
..mondjuk a #choose helyett egy .choose is bőven elég lenne
5

ISTEN VAGY

53éves_nagypapa · 2014. Aug. 14. (Cs), 14.24
Köszönöm !!!!!

Ezerrel tanulom a JQ-t, el is olvastam az .on leírást sok helyen,
csak nem értettem meg. /egyeni szoc prob/

A leírásokkal mindíg az a bajom,
hogy vagy nincs hozzájuk konkrét példa, vagy én vagyok hülye.

Egy gyakorlati feladatból viszont azonnal megértem.

Óriási segítséget adtál, nem eccerűen megoldódott a ez a konkrét dolog,
hanem komplett megértettem az .on működését.

Hála és köszönet !!!!!!!!!!

Imádom a JQ-t
és a weblabor-t
6

Szívesen

szabo.b.gabor · 2014. Aug. 14. (Cs), 20.37
Örülök, hogy megvilágosodtál.