2016-10-18 28 views
0

値:i「はJavascriptを - 入力で配列を作成し、私はこのようなのforeach PHP持っ

var inputsArray= [value first input, value second input, value....] 

@foreach($posts as $post) 
    <h2>{{$post->title}}</h2> 
    <img src="{{$post->image}}" width="150" height="150"> 
    <p>{{$post->country}}</p> 
    <p>{{$post->zone}}</p> 
    <p>{{$post->user->name}}</p> 
    <input type="hidden" class="postId" value="{{$post->id}}" name="postId"> 
    <p class="expiredate">{{$post->expire_date}}</p> 
    <p class="current">{{$current}}</p> 
@endforeach 

を私はこのような入力hiddensの値を持つJavaScriptの配列を行いたいと思いますメートルこのようtryng:

var d = document;  
var inputsArray = d.querySelectorAll('.postId'); 

が、それは仕事をdoen't、私のコンソールは私を与える:

+0

:配列自体はvalue性質を持っていないようすると、その配列を反復処理しますか? – theonlygusti

+0

また、 'console.log(inputArray)'を試してください – theonlygusti

答えて

2

querySelectorAllは配列ではなくノードリストを返すので、変数を真の配列に変換する必要があります。 inputArray` `のスペルが矛盾しているので、たぶん

var d = document;  
var inputsArray = Array.from(d.querySelectorAll('.postId')); 

inputsArray.forEach(function (input) { 
    console.log(input.value); 
}); 
+0

'Array.from(arrayLikeThingy)'は '[... arrayLikeThingy]'よりもはるかに遅いということを知りました。 – Redu

+0

なぜ遅いのですか? @Redu –

+0

これはJavaScriptエンジンによって異なります。とにかく、現時点でこの状況には実用的な違いはありません。あなたは、違いに気付き始める前に、数万の要素を持つノードリストを持つ必要があります。 – trincot

関連する問題