2013-03-04 2 views
1

저는 jQuery Validation Plugin을 사용하고 있으며 오류가있는 요소의 유형에 따라 errorElement을 동적으로 결정할 수 있기를 원합니다. 그러나jQuery 동적으로 오류 요소를 선택하십시오.

$("form").validate({ 
    errorElement: "div" 
}); 

, 나는 타입이 체크 박스 또는 라디오 버튼 있다면, 그때는 errorElementli을 만들 수 있도록 변경 수 있도록하고 싶습니다 : 나는 당신이 errorElement과 같이 수 있다는 것을 알고. 누구든지이 작업을 수행하는 방법을 알고 있습니까? 감사!

답변

7

나는 the code in the plugin을보고 있는데, errorElement 옵션은 요소를 매개 변수로 찾고 있습니다. errorElement에 대한 콜백 함수가 없기 때문에 플러그인 자체를 수정하지 않고도 요청한 것을 얻을 수있는 직접적인 방법은 없습니다.

errorPlacement 콜백 대신 할 수 있습니다.

그냥 label으로두고 다른 컨테이너로 포장한다고 가정 해 보겠습니다. 또는 errorElement을 사용하여 모두 <span> 안에 넣을 수 있으며, errorPlacement에서 wrap까지 모든 컨테이너에서 동적으로 사용합니다. jQuery .wrap()을 참조하십시오.

errorElement: 'span', 
    errorPlacement: function (error, element) { 
     var type = $(element).attr("type"); 
     if (type === "radio") { 
      // custom placement 
      error.insertAfter(element).wrap('<li/>'); 
     } else if (type === "checkbox") { 
      // custom placement 
      error.insertAfter(element).wrap('<li/>'); 
     } else { 
      error.insertAfter(element).wrap('<div/>'); 
     } 
    }, 

DEMO : http://jsfiddle.net/uLH4f/

+0

와우. 좋은 대답! 감사합니다 :) – srchulo

+0

당신은 오신 것을 환영합니다. – Sparky

관련 문제