Avatar billede squize Nybegynder
29. august 2011 - 22:42 Der er 7 kommentarer

jQuery update flere div+var med en funktion

Hej,
Sidder og knokler med at få noget js/php/mysql til at spille sammen.

Jeg har en sidde med en masse knapper/indikatorer som skal skifte status ud fra noget data i en mysql db.

Til det vil jeg bruge noget jquery.
Jeg har dog et lille problem med at få en variabel med fra min <div id=> felter som jeg skal bruge til mit db kald.

Jeg har lige lavet en minimal løsning til at teste funktionen af med som ser sådan her ud:

java script:
var i = '4';
var vari1 = "Button" + i;
var auto_refresh = setInterval(
function ()
{$('#'+vari1+'').load('index_refresh.php?buttonnumber='+i+'').fadeIn("slow");
}, 1000);

Html/php:
<div id="Button1"> </div>
<div id="Button2"> </div>
<div id="Button3"> </div>
<div id="Button4"> </div>


index_refresh.php
$number = $_GET['buttonnumber'];
echo $number;


Koden virker efter hensigten så længe jeg manuelt går ind og sætter i til et tal imellem 1&4.
Men pointen er at jeg vil have den til køre på alle div og tage det givne tal med over i index_refresh.php som variabel.

Nogle af jer kloge hoveder der har en ide' ?

PFT.
Lars
Avatar billede jokkejensen Novice
29. august 2011 - 23:36 #1
Html/php:
<div id="Button1" class="btn"> </div>
<div id="Button2" class="btn"> </div>
<div id="Button3" class="btn"> </div>
<div id="Button4" class="btn"> </div>


JS
$(".btn").each(function(){

setInterval(function(){
alert($(this).attr('id'));
}, 2000);

});
Avatar billede jokkejensen Novice
29. august 2011 - 23:40 #2
nåå sry læste lige lidt forkert.

var id = my_car.charAt(the_length-1);

$(".btn").each(function(){

setInterval(function(){
var id = $(this).attr('id').charAt($(this).attr('id').length-1);
alert(id);
}, 2000);

});
Avatar billede jokkejensen Novice
29. august 2011 - 23:42 #3
husk at koden skal afvikles, i


$(document).ready(function(){

$(".btn").each(function(){

setInterval(function(){
var id = $(this).attr('id').charAt($(this).attr('id').length-1);
alert(id);
}, 2000);

});

});
Avatar billede squize Nybegynder
07. september 2011 - 21:39 #4
Burde den funktion du har lavet her ikke lave en alert box der popper op ?

Synes nemlig ikke rigtig jeg kan få funktionen til at køre.

PS. Har stadig ikke helt set lyset i js, men det kommer vel forhåbentligt når snart :)
Avatar billede squize Nybegynder
07. september 2011 - 22:45 #5
Har ændret lidt i min kode nu sådan at den ser sådan her ud:

var varClass = "btn";
var auto_refresh = setInterval(
function ()
{$('.'+varClass+'').load('index_refresh.php?buttonnumber='+i+'').fadeIn("slow");
}, 1000);


Og det får skam alle mine divs med class = btn til at opdatere.
Men jeg kan så ikke lige helt få det til at virke med at hive id'et med over i funktionen og så sætte den på som en parameter på mit kald til .php filen.
Avatar billede squize Nybegynder
07. september 2011 - 23:23 #6
Nåå.. lidt nærmere igen.
Jeg har nu følgende kode og har lokaliseret fejlen, mangler bare at finde løsningen.

<!--var id = my_car.charAt(the_length-1);-->
var id = 'button6';
$(document).ready(function(){
    $(".btn").each(function(){
        setInterval(function(){
            var id = $(this).attr('id').charAt($(this).attr('id').length-1);
            <!--alert(id);-->
            $(".btn").load('index_refresh.php?buttonnumber='+id+'').fadeIn("slow");
        }, 1000);
    });
});


Denne linje er der en fejl i. Går ud fra at det er 'my_car', men hvad skulle der have stået ?

var id = my_car.charAt(the_length-1);
Avatar billede squize Nybegynder
09. september 2011 - 12:13 #7
JS
$(document).ready(function(){
    $(".btn").each(function(){
        var i = $(this).attr('id');
        setInterval(function(){
            $(".btn").load('index_refresh.php?buttonnumber='+i+'').fadeIn("slow");
        }, 2000);
    });
});

HTML:
<div id="Button1" class="btn">Knap 1</div><br>
<div id="Button2" class="btn">Knap 2</div><br>
<div id="Button3" class="btn">Knap 3</div><br>
<div id="Button4" class="btn">Knap 4</div><br>


Nu bliver de opdateret, MEN
Kan se at den opdatere alle på en gang med den samme værdi.
Hvad er det lige jeg har gjort galt ? - Vil jo at den skal opdatere dem individuelt.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester