2012-03-08 2 views
0

ASP.NET MVC 애플리케이션에는 여러 옵션을 선택할 수있는 선택 태그가있는보기가 있습니다.다중 선택을위한 jQuery validationrule 추가

기본적으로 (페이지가로드 될 때) 선택 항목이 없습니다. 어떤 동작에서 선택 항목에 옵션이 채워질 수 있으며 정상적으로 작동합니다.

이제 양식을 제출할 때 양식에 제출할 때 적어도 하나의 옵션이 있어야하므로 선택 항목에 옵션이 있는지 여부를 확인하고 싶습니다. 선택 항목에 옵션이있는 경우에만 옵션이 선택되었는지 여부를 확인하고 싶지 않습니다.

<select multiple="multiple" style="width:200px;" id="PersonnelClasses" 
       name="PersonnelClasses"></select> 

그리고 jQuery를 코드 : 이제

$("#PersonnelClasses").rules("add", { 
    required: true 
}); 

, 규칙이 선택이 목록에있는 항목이 있는지 확인하기 위해 어떻게 보일까 이것은 내가 지금까지있어 무엇인가? 나는 여기에 아무 해결책도 찾지 못했고, jQuery 문서에도 없다.

업데이트 : 선택에 옵션을 추가

코드 : 내가 알고있는 것처럼, 페이지가로드

this.addPersonnelClass = function() { 
     $('#selectablePersonnelClasses :selected'). 
      each(function (value, item) { 
      $('#PersonnelClasses') 
       .append($('<option></option>') 
       .val(item.value) 
       .html(item.text)); 
    }); 
}; 
+0

귀하의 질문에 기능을하지 마십시오 (이 클릭하면 웹 페이지가로드 및 사용자가 선택을 채워 후 발생하는 작업입니다) 귀하의 코드에 따라 매우 모호합니다. 실제로'select' 태그가 어떻게 생겼습니까? 컨트롤러와 나머지보기는 어떻습니까? 선택 항목에 더 많은 옵션을 동적으로 추가하는 것이 있습니까? – gideon

+0

정확히 내 select-tag의 모습입니다. 나는 다른 코드가 중요하다고 생각하지 않는다. 내 컨트롤러에서 FormCollection을 통해 양식 데이터를 가져옵니다. 나머지보기 (제출 단추 제외)는 두 번째 선택 및 첫 번째 선택 항목에 항목을 추가하는 단추로 구성됩니다. 이것은 일부 jQuery 코드에서 발생하지만 유효성 검사와 아무 관련이 없습니다 ... – Abbas

+0

그러면'select' 옵션이 어떻게 변경됩니까? – gideon

답변

1

, 사용자의 몇 가지에 클릭하고 다음 선택은 동적으로 옵션으로 채워집니다. 당신이 원하는 것은 그것이 업데이트 된 후에 옵션의 수를 얻는 것입니다.

<html> 
<head> 
    <script src="js/jquery.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      function checkLength(){ 
       alert($('#PersonnelClasses option').length); 
      } 
     </script> 
</head> 
<body> 
<form NAME="myform" ACTION="" METHOD="GET"> 
    <select multiple="multiple" style="width:200px;" id="PersonnelClasses" name="PersonnelClasses"> 
     <option>bla</option> 
     <option>lala</option> 
     <option>lolo</option> 
     <option>l4</option> 
    </select> 
    <input type="button" name="mysubmit" onClick="checkLength()" value="Click" /> 
</form> 
</body> 
</html> 
  • 이 예제는 버튼을 클릭 할 때마다 선택의 옵션의 양을 확인 :

    다음 코드를 살펴 있습니다.
  • 이 (그렇지 않으면 함수가 발견되지 않음) document.ready 함수
+0

이것은 처음에 찾던 것이 아니고 jQuery 유효성 검사 규칙을 찾고 있었지만 다른 jQuery 함수에서 작동하도록 솔루션을 수정했습니다. 그래서 당신의 해결 방법은 충분합니다 .. :) – Abbas

관련 문제