2016-07-09 9 views
-1

ich von den ersten Elementen für Validate ein Problem für jeden dynamischen Eingänge Arrayjeder dynamischen Eingänge Array bidimensional

<div> 
    <input name="item[0][name]"/> 
    <textarea name="item[0][description]"></textarea> 

    <input name="item[1][name]"/> 
    <textarea name="item[1][description]"></textarea> 

    <input name="item[2][name]"/> 
    <textarea name="item[2][description]"></textarea> 
</div> 

Die Eingänge und Textbereiche sind Dynamik Elemente hinzugefügt, so will ich einen jeden ich diesen Code verwenden machen

$('input[name^="item"]').each(function() { 
     console.log("hello"); 
}); 

aber diese Rückkehr 6 hallo in der Konsole, muß ich in diesem Beispiel 3 hallo oder die Anzahl der Artikel zurückgeben [], in Bezug die ich habe

item[0] 
item[1] 
item[2] 
diese

weil ich brauche eine jede für validate machen

item[0] 
    item[0][name] ¿have a name? 
    item[0][description] ¿have a description? 

item[1] 
    item[1][name] ¿have a name? 
    item[1][description] ¿have a description? 

Dank!

+0

Zuerst fehlt Ihre 'Eingabe' ein abschließendes' /> '. Es gibt auch keine Möglichkeit, dass der Selektor bei gegebenem Code 6-mal durchlaufen könnte - nicht zuletzt, weil [nichts passierte] (https://jsfiddle.net/RoryMcCrossan/9b0atm7x/). Können Sie uns ein funktionierendes Beispiel für das Problem in einem http://jsfiddle.net geben? –

+0

Verwenden Sie 'input [name^= item] '' stattdessen – Mohammad

+0

Mohammad danke aber mit name^= item Ich bekomme 6 Hallo in der KonsoleLog –

Antwort

0

Ich löste dieses

<div> 
    <input name="item[0][name]" value="name"/> 
    <textarea name="item[0][description]">description</textarea> 

    <input name="item[1][name]" value="name"/> 
    <textarea name="item[1][description]">description</textarea> 

    <input name="item[2][name]" value="name"/> 
    <textarea name="item[2][description]">description</textarea> 
</div> 

und Javascript mit Jquery

var n = $('input[name^="item"]').length; 

console.log(n); 
for (var i=0; i<n; i++) { 
    console.log(n); 
    console.log($('input[name^="item['+i+'][name]"]').val()); 
    console.log($('textarea[name^="item['+i+'][description]"]').val()); 
} 

Danke an alle!

Verwandte Themen