使用jQuery将下拉列表的选定值获取到javascript函数中

使用jQuery将下拉列表的选定值获取到javascript函数中,javascript,jquery,user-interface,Javascript,Jquery,User Interface,我有一个从接口接收两个值的接口: 一个是日期,另一个来自下拉菜单,是字符串 日期值正常,但下拉菜单中的值不正常 始终选择“默认”值。我想传递用户正在选择的值。 因此,用户选择的值总是采用 @Resources.Resources.SelectUser 这基本上就是“选择用户”值 代码如下: <div id="employee_info" > <div class="search_employee" id="search_employee"> <sel

我有一个从接口接收两个值的接口:

一个是日期,另一个来自下拉菜单,是字符串

日期值正常,但下拉菜单中的值不正常

始终选择“默认”值。我想传递用户正在选择的值。 因此,用户选择的值总是采用

@Resources.Resources.SelectUser

这基本上就是“选择用户”值

代码如下:

<div id="employee_info" >
<div class="search_employee" id="search_employee">
        <select name="search_emp" id="search_emp" style="width: 174px">
            @{   
                if (ViewBag.DataActiveEmployee == null || ((IEnumerable<MvcApplication1.Models.ActiveUsersList>)ViewBag.DataActiveEmployee).Count() == 0)
                {
                    //@:<h3>No records were processed.</h3>

                }
                else
                {
                @:
                <option>@Resources.Resources.SelectUser</option> 
                    foreach (var usr in ViewBag.DataActiveEmployee)
                    {     
                <option id="selected_user">@usr.EmployeeName</option>        
                    }
                @:
}
            }
        </select>
</div>
</div>

<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>@*@Resources.Resources.Date: *@<input type="text" id="datepicker"></p>
<script name="select_date" id="select_date">

  $(function () {
      var userName = $('#search_emp').val();
      $("#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();
          $.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 = $('#search_emp').val();
加载页面时正在运行(在document.ready函数中)。因此,它将存储在userName变量中,无论此时选择的值是什么。当您开始处理按钮单击时,它不会从下拉列表中更新该值。将该代码移动到click事件处理程序中,它将及时从下拉列表中获取所选值,而不是更早的值

 var userName = $('#search_emp').val();