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



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

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

日期值可以,但下拉菜单中的值不可以。

一直在选择"默认"值。我想传递用户正在选择的值。因此,用户选择的值不是选择

@资源。资源。选择用户

这基本上就是"挑选用户"的价值。

代码如下:

<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 = $('select#search_emp option:selected').val();

但我得到了同样的结果。

有什么想法吗?提前感谢!

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

在加载页面时(在document.ready函数中)正在运行。因此,它将在userName变量中存储此时所选的值。当你点击按钮时,它不会从下拉列表中更新该值。将该代码移动到click事件处理程序中,它将在此时从下拉列表中获得选定的值,而不是以前的值。

相关内容

  • 没有找到相关文章

最新更新