2011-04-25 2 views
1
<span> 
    <label class="label">Color</label> 
    <span class="foo"><input name="Color" value="Blue" class="customs" maxlength="100" type="text"/></span> 
    </span> 
</span> 

<span> 
    <label class="label">Brand</label> 
     <span class="input-large"><input name="Brand" value="xxx" class="customs" maxlength="100" type="text"/></span> 
    </span> 
</span> 

JS를 사용하여 모든 입력 값을 원합니다. 나는 JS를 사용하여 다중 값 캐치

$('.customs').each(function() { 

    alert($('.customs').val()); 

}); 

을 썼다 그러나 모든 시간은 나에게 첫 번째 입력 값을 제공합니다.

Required Alert output: Blue, Brand 
Output comes: Blue, Blue 

답변

1

당신의 두 개의 입력에 이름을 대

alert($(this).val()); 
0

퍼펙트 값

alert($('.customs').val()); 

당신은 각 반복의 선택을 평가

0

을있는 정의를 교체 한 것 같아요 val이 배열에서 호출되면 첫 번째 값을 선택합니다.

사용

$('.customs').each(function() { 
    alert($(this).val()); 
}); 

또는 더 나은,

$('.customs').each(function() { 
    alert(this.value); 
}); 

여기 val에서 제공하는 계층에 대한 필요가 없기 때문에.

0

클래스를 선택기로 사용하고 있으므로 컬렉션이 생성됩니다. 배열을 넣거나 반복하여 무언가를 할 수 있습니다.

$('.customs').each(function() { 
    alert($(this).val());//use this to refer to the current object 
});