2014-02-24 26 views
0

我正在使用jquery驗證插件,最近我不得不在我的表單中添加多選下拉菜單。我使用了davidstutz bootstrap多選插件。但是,無法驗證多選框下面是我的HTML代碼,我選擇從多選框中的值不給就算再表格被提交其他形式的投入提交,使用jquery驗證插件來驗證使用bootstrap multiselect插件創建的多選框?

 <select name="franchisee_course" class="multiselect" multiple="multiple" id="franchisee_course" size="1" placeholder="Courses"> 

      <?php 
        foreach($courses as $course) { 
        echo "<option value=".$course['course_id']." >".$course['course_description']."</option>"; 
        } 
       ?> 

     </select> 

和我打電話多選,

 $('.multiselect').multiselect({ 

      noneSelectedText: 'Select Courses', 
      includeSelectAllOption: true, 
      enableFiltering: true, 
      filterPlaceholder: 'Search course' 

     }); 

,這些都是我的驗證碼爲多選,

  $.validator.addMethod("needsSelection", function(value, element) { 
       return $(element).multiselect("getChecked").length > 0; 
      }); 

      $.validator.messages.needsSelection = 'Select Atleast One Course'; 


      franchisee_course: { 

       needsSelection: true, 
       required:true 


     }, 
     ignore: ':hidden:not("#franchisee_course")', // I don't know what this line does 

回答

3

的問題是,「getChecked」的說法並不做任何事情了。以下是驗證方法的更新版工作版本

$.validator.addMethod("needsSelection", function (value, element) { 
    var count = $(element).find('option:selected').length; 
    return count > 0; 
});