2010-07-29 2 views
1

각 댓글에 대한 답장 양식을 표시하려고하지만 Jquery를 사용하여 양식을 숨기고 내가 어떻게 답장 양식을 숨기고 올바른 답장 양식을 표시 할 수 있도록 의견 ID를 붙잡아 Jquery에 추가 할 수 있는지 궁금합니다. 잘못된 답장 양식 대신 올바르게 표시 하시겠습니까?Jquery를 여러 값으로 사용 하시겠습니까?

예 : form_show_hide1, form_show_hide2, form_show_hide3, form_show_hide4 등등.

PHP와 JQuery를 사용하여 I; m.

다음은 Jquery 코드입니다.

$(function(){ 
     $('a#form_show_hide').click(function(){ 
     $('#form_container').slideToggle('slow'); 
     // prevent default action 
     return false; 
     }); 
    }); 

다음은 HTML 코드입니다. 참고 ID를 클래스로 변경했습니다.

<a href="#" title="Reply Link" class="form_show_hide">Reply</a> 


<form method="post" action="' .htmlentities($_SERVER['REQUEST_URI']) . '" class="form_container> 
    <fieldset> 
     <textarea rows="6" cols="70"></textarea> 
     <input type="submit" name="reply" value="Submit" /> 
     <input type="hidden" name="id" value="' . urlencode($comment_id) . '" /> 
    </fieldset> 
</form> 
+1

마크 업을 게시 할 수 있습니까? 문제를 일으킬 ID를 다시 사용하고있는 것처럼 보입니다. 클래스를 사용하고 상대적으로 원하는 요소를 찾는 것이 가장 좋습니다. –

+0

코드는 여기에 게시하는 것이 좋습니다. 그렇다면 Jquery 코드로 클래스를 사용하는 방법은 무엇입니까? – 5150

+0

관련없는 콘텐츠, 코드 및 마크 업을 게시 할 필요가 없습니다. 케이스를 표현하고 문제를 보여주는 가능한 가장 짧은 코드 스 니펫만으로 충분합니다. http://sscce.org를 참조하십시오. – BalusC

답변

0

당신은 상대적으로이 같은 .next()를 사용하여 .form_container 요소를 발견하여 작업을 수행 할 수 있습니다

나를 준다 코드에 간격이있다
$(function(){ 
    $('a.form_show_hide').click(function(){ 
    $(this).next('.form_container').slideToggle('slow'); 
    return false; 
    }); 
}); 

그래도 의심. 형제가 형제 인 경우 형제는 .next() 호출이 아닌 .nextAll('.form_container:first')을 사용합니다. 예를 들어

그들은 형제 아니에요하지만 당신은 식별 할 수있는 부모 컨테이너의 일종에있는 경우 :

<div class="container"> 
    <div> 
    <a href="#" title="Reply Link" class="form_show_hide">Reply</a> 
    </div> 
    <form method="post" action="' .htmlentities($_SERVER['REQUEST_URI']) . '" class="form_container> 
    <fieldset> 
     <textarea rows="6" cols="70"></textarea> 
     <input type="submit" name="reply" value="Submit" /> 
     <input type="hidden" name="id" value="' . urlencode($comment_id) . '" /> 
    </fieldset> 
    </form> 
</div> 

그런 다음 .closest('.container').find('.form_container')으로 .next() 전화를 교체, 다시 아래 해당 컨테이너까지 가서. .closest()은 상위 컨테이너를 올바르게 식별하기위한 선택기 만 있으면됩니다.

0
$("SELECT_YOUR_FORMS").each(function(index) { 
    $(this).DO_YOUR_FUNCTION(); 
    }); 
관련 문제