Topic: fadeOut funkcija neveikia ant div elemento

Sveiki, ištrynus įrašą iš MySQL AJAX pagalba db noriu panaikinti ištrintą eilutę, tačiau niekaip man nepavyksta to padaryti.

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("a[id^='trinti']").click(function() {
        var numrow = $(this).attr("id");
        numrow = numrow.substr(6);
        var eil = 'id=' + numrow;
            $.ajax({
                type: 'POST',
                url: 'trinti.php',
                data: eil,
                success: function() {
                       numrowas = "#row"+numrow;
                    $(numrowas).fadeOut(2000);
                }
            });
    });
});
</script>
<?php
require_once('db.php');
if (isset($_GET['list'])) {
$query = "SELECT * FROM zinutes";
mysql_query("SET NAMES 'UTF8'");
$uzklausa=mysql_query($query);
$i = 1;
while($lauk = mysql_fetch_array($uzklausa)){
$r = $lauk['id'];
echo '<div id="row$r">'.$i++.'. Vardas: '.$lauk['vardas'].' žinutė: '.$lauk['zinute'].'<a href="#" id="trinti'.$r.'">Delete broker</a></div>';
}
}
?>

Re: fadeOut funkcija neveikia ant div elemento

Tiesiog patikrink:

success: function() {
alert('SUCCESS');
                       numrowas = "#row"+numrow;
alert("Istrine " + numrowas);
                    $(numrowas).fadeOut(2000);
                }

ir ar yra toks div su tokiu id

Re: fadeOut funkcija neveikia ant div elemento

Avice wrote:

Tiesiog patikrink:
success: function() {
alert('SUCCESS');
                       numrowas = "#row"+numrow;
alert("Istrine " + numrowas);
                    $(numrowas).fadeOut(2000);
                }
ir ar yra toks div su tokiu id

Abu alertus atvaizduoja ir informacija gera antrame alerte, bet vistiek fadeOut nepadaro. Padariau testini div elemeta po pagrindiniu tai jis isnyksta.

Re: fadeOut funkcija neveikia ant div elemento

<script type="text/javascript">
$(document).ready(function() {
    $("a[id^='trinti']").click(function() {
        var numrow = $(this).attr("id");
        numrow = numrow.substr(6);
        var eil = 'id=' + numrow;
            $.ajax({
                type: 'POST',
                url: 'trinti.php',
                data: eil,
                success: function() {
                       numrowas = "#row"+numrow;
                    $(numrowas).fadeOut(2000);
                }
            });
    });
});
</script>

perkelk po tais divais. Nes kitaip neveiks , na bent jau pagal cia http://api.jquery.com/fadeOut/

Re: fadeOut funkcija neveikia ant div elemento

Deividas wrote:

Sveiki, ištrynus įrašą iš MySQL AJAX pagalba db noriu panaikinti ištrintą eilutę, tačiau niekaip man nepavyksta to padaryti.

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $("a[id^='trinti']").click(function() {
        var numrow = $(this).attr("id");
        numrow = numrow.substr(6);
        var eil = 'id=' + numrow;
            $.ajax({
                type: 'POST',
                url: 'trinti.php',
                data: eil,
                success: function() {
                       numrowas = "#row"+numrow;
                    $(numrowas).fadeOut(2000);
                }
            });
    });
});
</script>
<?php
require_once('db.php');
if (isset($_GET['list'])) {
$query = "SELECT * FROM zinutes";
mysql_query("SET NAMES 'UTF8'");
$uzklausa=mysql_query($query);
$i = 1;
while($lauk = mysql_fetch_array($uzklausa)){
$r = $lauk['id'];
echo '<div id="row$r">'.$i++.'. Vardas: '.$lauk['vardas'].' žinutė: '.$lauk['zinute'].'<a href="#" id="trinti'.$r.'">Delete broker</a></div>';
}
}
?>

Labai blogai:

numrow = numrow.substr(6);

Geriau:

var id = $(this).attr("id").replace('row',''); // Tiksliai neatsimenu

Kitas dalykas, pamirsk ta metoda "ajax", jis reikalingas visai kitiems dalykams (ta prasme, kai naudojama daugiau parametru ar norima gauti smulki informacija), tavo atveju per akis, metodo "post":

$.post("trinti.php",{"id":id},function(data) {
     $("#row" + id).fadeOut(2000).remove();
});

Nenaudok tik fadeOut(), nes ateityje gausi memoryleak 100%. Geriau paslepes elementa, ji ir istrink.

P.S.
Jei neveiks, sorry (pasibandyk pats, ant kelio uzvedziau). Kodas rasytas inline, tad net nebandytas ir net nezinau ar teisingai viskas parasyta.