Sk!ppy Skrevet 19. mars 2010 Del Skrevet 19. mars 2010 Hei, har startet smått med Jquery i det siste, og har tenkt å legge til flere felt, ved å trykke på en knapp. Har klart det, kjempefint, men skal få den til å legge til inni <table>' taggen. Koden min til nå: <h1>Legg til ingredienser</h1> <?php if(!isset($_GET['id'])) { echo "Velg en drikk. Det gjør du ved å gå til forsiden, å og trykke på en drikk."; } else { $var = mysql_query("SELECT * FROM `tabell` WHERE `id`='".$_GET['id']."'"); $var = mysql_fetch_array($var); echo "Du har valgt drinken ".$var['name']." "; ?> Legg til felter:<br> <script> $(document).ready(function() { $("#clickhere").click(function() { $("table.table").clone().add("<tr> <td><input type=\"input\" name=\"navn[]\"></td> <td><input type=\"input\" name=\"mengde[]\"></td> </tr>").appendTo(document.body); } ); } ); </script> <table class="table"> <tr> <td>Navn</td> <td>Mengd</td> </tr> </table> <input type="button" id="clickhere" value="Legg til flere inputs!" /> <?php } ?> har prøvd å endre på appendTo() og $("") og mer strekker egentlig ikke min kunnskap seg. Noen tips? Lenke til kommentar
Skagen Skrevet 19. mars 2010 Del Skrevet 19. mars 2010 Har du prøvd å gjøre det med "vanlig" JavaScript i den annonyme funksjonen du henger på .click? F.eks: for(var i = 0, ii = name.length, tr = null, table = document.getElementById("table.table"); i < ii; i++) { tr = document.createElement("tr"); tr.innerHTML += '<td><input type=\"input\" name=\"' + navn[i] + '\"></td><td><input type=\"input\" name=\"' + mengde[i] + '\"></td>'; table.appendChild(tr); } Lenke til kommentar
Sk!ppy Skrevet 19. mars 2010 Forfatter Del Skrevet 19. mars 2010 Jeg skal prøve det, OM jeg starter med prosjektet igjen. Pc'en jeg hadde filene på crasha på en måte, og jeg tenkte at backup er no dritt.. :/ Lenke til kommentar
Skagen Skrevet 19. mars 2010 Del Skrevet 19. mars 2010 Jeg har ingen erfaring med JQuery, men ser nå at problemet sannsynligvis ligger i at du har linjebrudd i argumentet til add(): $(document).ready(function() { $("#clickhere").click(function() { $("table.table").clone().add("<tr> <td><input type=\"input\" name=\"navn[]\"></td> <td><input type=\"input\" name=\"mengde[]\"></td> </tr>").appendTo(document.body); } ); } ); Skal du ha en tekststreng som strekker seg over flere linjer må du behandle hver linje som en individuell streng og legge dem sammen: "<tr>" + "<td><input type=\"input\" name=\"navn[]\"></td>" + "<td><input type=\"input\" name=\"mengde[]\"></td>" + "</tr>"; Men det enkleste er å fjerne alle linjebrudd, slik: $("table.table").clone().add("<tr><td><input type=\"input\" name=\"navn[]\"></td><td><input type=\"input\" name=\"mengde[]\"></td></tr>").appendTo(document.body); Men navn[] og mengde[], er dette JavaScript-arrays, PHP-arrays eller bare (merkelige) HTML-navn? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå