Avatar billede PrimalE Nybegynder
25. januar 2013 - 14:53 Der er 3 kommentarer

jquery .append og brug af intre variabler

Hej Eksperter,

Jeg sidder med en kode der ikke vil virke for mig.

Jeg ønsker at tilføje en række med ekstra input felt - disse skal have et unikt id.

Jeg kan få koden til at virke UDEN id men ikke med.

Her er koden:
<script>
        $(document).ready(function($)
            {
                $("a").click(function(event){
                    alert("Handler for .click() called.");
                    htmlStr = '<tr>'
htmlStr += '<td><input type="text" name="cirteria[][name]"></td>'
htmlStr += '<td><input type="checkbox" name="cirteria[][parent]" value="1"></td>'
htmlStr += '<td><input type="checkbox" name="cirteria[][child]" value="1"></td>'

htmlStr += '</tr>'
                     
                    $('#criteria').append(htmlStr);
                });
            });
    </script>

og med id
<script>
        $(document).ready(function($)
            {
                var i = 1;
                $("a").click(function(event){
                    alert("Handler for .click() called.");
                    htmlStr = '<tr>'
htmlStr += '<td><input type="text" name="cirteria['+ i +'][name]"></td>'
htmlStr += '<td><input type="checkbox" name="cirteria['+ i +'][parent]" value="1"></td>'
htmlStr += '<td><input type="checkbox" name="cirteria['+ i +'][child]" value="1"></td>'

htmlStr += '</tr>'
                     
                    $('#criteria').append(htmlStr);
                        i++;
                });
            });
    </script>

Der sker INTET med den "nye" kode.

Håber på hjælp på forhånd tak
Avatar billede PrimalE Nybegynder
25. januar 2013 - 15:01 #1
Hov det var den gamle version.
Her er de igen

1. Den som virker:
<script>
$(document).ready(function($)
{
$("a").click(function(event){
htmlStr = '<tr>';
htmlStr += '<td><input type="text" name="cirteria[name]"></td>';
htmlStr += '<td><input type="checkbox" name="cirteria[parent]" value="1"></td>';
htmlStr += '<td><input type="checkbox" name="cirteria[child]" value="1"></td>';
htmlStr += '</tr>';
                                          $('#criteria').append(htmlStr);
});
});
</script>

2. Den som ikke virker:
<script>
$(document).ready(function($)
{
int i = 1;
$("a").click(function(event){
htmlStr = '<tr>';
htmlStr += '<td><input type="text" name="cirteria[' + i + '][name]"></td>';
htmlStr += '<td><input type="checkbox" name="cirteria[' + i + '][parent]" value="1"></td>';
htmlStr += '<td><input type="checkbox" name="cirteria[' + i + '][child]" value="1"></td>';
htmlStr += '</tr>';
                                          $('#criteria').append(htmlStr);
i++;
});
});
</script>
Avatar billede olebole Juniormester
25. januar 2013 - 15:36 #2
<ole>

Det forstår jeg ikke. I det eksempel, der ikke virker, forsøger du at give dem et name - ikke et id.

Hvad er det, du gerne vil - og hvorfor?

/mvh
</bole>
Avatar billede olsensweb.dk Ekspert
27. januar 2013 - 12:12 #3
hvis du åbner Firebug får du en js fejl i denne linje
int i = 1;
prøv at rette det til
var i = 1;

så kommer cirteria til at se sådan ud
<input type="text" name="cirteria[1][name]">
<input type="text" name="cirteria[2][name]">

er det det du ønsker ??
forstår ikke lige det med id

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
    <title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <style type="text/css">
    </style>
    <script type="text/javascript">
$(document).ready(function($)
{
var i = 1;
$("a").click(function(event){
htmlStr = '<tr>';
htmlStr += '<td><input type="text" name="cirteria[' + i + '][name]"></td>';
htmlStr += '<td><input type="checkbox" name="cirteria[' + i + '][parent]" value="1"></td>';
htmlStr += '<td><input type="checkbox" name="cirteria[' + i + '][child]" value="1"></td>';
htmlStr += '</tr>';
    $('#criteria').append(htmlStr);
i++;
});
});
    </script>
</head>
<body>
<a href="#">tilføj</a>
<div id="criteria"></div>
</body>
</html>
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