2011-09-17 3 views
0

I는 다음과 같이 보이는 POST 가지고 있는지를 확인하기 위해 .submit 함수 내부 배열의 키 값을 통해의 jQuery .each

Array 
(
[students] => Array 
    (
     [37] => Array 
      (
       [name] => 37 
       [registration_payment_date] => 
       [check_amount] => 120.00 
      ) 

     [38] => Array 
      (
       [name] => 38 
       [registration_payment_date] => 9-11-2011 
       [check_amount] => 117.00 

      ) 
    ) 
) 

는 I 루프로 할를하는 경우가 수표 금액이 있다면 지불 날짜가 있어야합니다. 지불 날짜가 없으면 해당 이름을 배열에 추가 한 다음 해당 이름 목록에 경고합니다. jQuery.each 함수에 문제가 있습니다. 나는 바깥 쪽이 있어야하고, 내측이 있어야한다고 가정하고있다. 나는 var form = this then-

var names = ""; 
jQuery(form.students).each(function(){ 
    //ANOTHER EACH HERE?? { 
     //AN IF STATEMENT HERE { 
      names.push(students['name']; 
     } 
    }) 
}); 
alert(names); 

나는 가깝다고 생각한다. 누구든지 공백을 채울 수 있습니까 (또는 내가 궤도에서 벗어 났다고 말해주십시오)?

답변

0
var names=new Array(); 
$.each('form.students',function(){ 
    $.each(this,function() { 
      names.push(this.name); 
     }); 
    }); 
alert(names); 

내가 제거 할 수 없기 때문에 내가 원하는 것을 얻을 수 있기 때문에 제거하면 내가 적절하게 처리 할 수 ​​있습니다.
이게 으르렁 거리는거야.

+0

나는 이것이 바로 문제라고 생각합니다. 그러나 내가 푸시를 alert (this.name)로 대체하면; 나는 'undefined'를 얻는다. 최소한 그것은 반복하고있어. 나는 전에 얻지 못했던 것이다. 고맙습니다! – Sara

+0

U가 도움이되었다고 생각되면 진드기를 클릭하여 답변을 수락 할 수 있습니다. – kritya

1

당신은 jQuery를 각각 사용할 때 당신이 반복하고있는 현재 항목의 색인을 제공합니다. 이 경우에는 i을 사용합니다.

var names = ""; 
$(form.students).each(function(i,el){ 
    $(form.students[i].each, function() { 
     //AN IF STATEMENT HERE { 
      names.push(students[i]['name']; 
     } 
    }) 
}); 
alert(names); 
+0

인덱스를 볼 수 있기 때문에 나는 i의 사용을 좋아하지만 푸시를 alert (this.name)로 바꿨습니다. 빈 경고 상자를 얻으십시오. 아직도 가까이서, 도와 줘서 고마워! – Sara

+0

알림 시도 (students [i] [ 'name']) – wesbos

+0

'alert ('hello '); 두 번째 루프 내부에는 'if'가 없지만 거기에는 도달하지 않습니다. 왜 안되는지에 대한 아이디어가 있습니까? form.data로 뭔가를해야합니까? 저는 jQuery에 익숙하지 않습니다. 그래서 무슨 일이 일어나고 있는지는 제 머리 속에 분명하지 않습니다. – Sara