2016-07-19 215 views
-1

我有一个列表和列表中,我可以选择多个值。所以我创建了一个复选框的下拉列表。从复选框中选择多个值

下面是HTML代码:

<form> 
<div class="multiselect"> 
    <div class="selectBox" onclick="showCheckboxes()"> 
     <select> 
      <option>Select an option</option> 
     </select> 
     <div class="overSelect"></div> 
    </div> 
    <div id="checkboxes"> 
     @{ 
      if (ViewBag.DataActiveEmployee == null || ((IEnumerable<MvcApplication1.Models.ActiveUsersList>)ViewBag.DataActiveEmployee).Count() == 0) 
      { 
       @:<h3>No records were processed.</h3> 

      } 
      else 
      { 
       foreach (var usr in ViewBag.DataActiveEmployee) 
        {     
         <label id="userName">@usr.EmployeeName</label>  
         <input class="checked" type="checkbox" name="search_emp" id="search_emp" [email protected]> 
       @: 
     } 
     } 
     } 

    </div> 
</div> 

所以我可以选择一个以上的值,然后把它传递给JS功能:使用

<div id="datePicker"> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> 
</div> 
<script src="//code.jquery.com/jquery-1.10.2.js"></script> 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
<p><input type="text" id="datepicker"></p> 
<script name="select_date" id="select_date"> 

    $(function() { 
     $("#datepicker").datepicker({ 
      //defaultDate: "+1w", 
      changeMonth: true, 
      changeYear: true, 
      numberOfMonths: 1, 
      minDate: "01/01/2008" 
     }); 
     $("button.action").click(function() { 
      //console.log(select_date); 
      var date = $('#datepicker').val().toString(); 
      var userName = $(' .checked:checked').val(); 
     // var userName = $('search_emp').multiselect(); 
      console.log(userName); 
      $.ajax('EmployeeDate', { 
       data: { 
        strUserName: userName, 
        strDate: date 
       }, 
       success: function (data, textStatus, jqXHR) { 
        //this will happen on success of request 
        $('#DataUser').html(data); 
       }, 
       error: function() { 
        console.log("error handler when ajax request fails... "); 
       }, 

      }); 
     }); 
    }); 
    </script> 
    <button class="action" type="button" id="button_select">@Resources.Resources.ButtonFind</button> 

林此行:

var userName = $('.checked:ch ecked')VAL();

得到一个值。我的问题是,我如何获得多个价值?

在此先感谢!

+2

'VAR值= $。( '检查:检查')图(函数(){返回THIS.VALUE;})获得();'' – Tushar

+0

.val()''返回多个值,如果$('。checked:checked')'返回多个复选框。 –

+0

您需要使用jquery遍历所有选中的元素,您可以使用许多方法,如'each() - filter()' – DaniP

回答

1

它将所有这些值作为一个数组返回,您只需要遍历它们。

使用。每()函数,它