2011-02-01 4 views
1

이 내가 왔 얼마나 멀리입니다 : 양식을 제출하지 않기 때문에Jquery를 사용하여 여러 양식과 자녀를 선택하고 값을 경고하는 방법은 무엇입니까?

$('form').each(function() { 
    $(this).submit(function() { 
     event.preventDefault() 
     $(this).children('input.required').each(function() { 
     alert($(this).val()) 
     }) 
    }) 
    }) 

에서는 event.preventDefault는() 노력하고 있습니다. 그러나 그 후에는 아무 것도하지 않을 것입니다. 나는 바로

$(this).submit(function() { 

에서이

alert($(this).attr('id')) 

을 시도하고 내가 제출 클릭하면 그것은 올바른 양식 ID를 경고도했다. 그러나 어떤 이유로 나는 아이들을 일하게 할 수 없다. 일부 독서 후에도 시도했습니다.

$('form').each(function(index,element) { 
    $(element).submit(function() { 
     event.preventDefault() 
     $(element).children('.required').each(function(ind,ele) { 
     alert($(ele).val()) 
     }) 
    }) 
    }) 

그러나 작동하지 않았습니다.

값을 확인하려면 "필수"클래스가있는 특정 입력을 선택해야합니다. 감사.

답변

0

내 생각에 input 요소가 form의 하위 노드가 아니라 하위 노드입니다. 즉, forminput 사이의 다른 노드가 있습니다. 아마도 table 또는 p 요소 일 수 있습니다.

대신 find를 사용해야합니다

$(element).find('.required').each(function() { 
    alert($(this).val()); 
}); 

이 아닌 직접 아이들을 선택기 일치하는 모든 자손 노드를 찾습니다.

+0

감사합니다. 하지만 'input.required'를 지정할 수는 없습니다. 왜 안돼? – Matthew

+0

@Matthew 당신은 할 수 있어야합니다. 그냥'find ('input.required')'를하십시오. – lonesomeday

+0

나는 그것을 시험해 보았다. 그것은 내가 바꾼 유일한 것이고 작동하지 않을 것이지만 나는 주변에서 일을 발견했다. 입력을 선택한 다음 hasClass를 선택합니다. – Matthew

관련 문제