【问题标题】:get default value in a checkbox在复选框中获取默认值
【发布时间】:2016-07-21 11:12:33
【问题描述】:

我在函数中有一个复选框下拉菜单。因此用户可以选择一、多一或零。当用户选择一个或多个时,一切都是正确的。但是当用户不选择任何我有一个空指针异常。为了处理这个异常,我想默认情况下,如果他没有选择任何东西来显示所有的结果(比如他选择了所有)。我该怎么做?

这里是JS函数

  $(function () {
      $("#datepicker").datepicker({
          //defaultDate: "+1w",
          changeMonth: true,
          changeYear: true,
          numberOfMonths: 1,
          minDate: "01/01/2008"
      })
      .datepicker('setDate', new Date());
      $("button.action").click(function () {
          //var users = new Array();
          var date = $('#datepicker').val().toString();
          var selected_values = new Array();
          //var userName = $(' .checked:checked').val();
          $(document).ready(function () {
              selected_values = []; // initialize empty array 
              $(".checked:checked").each(function () {
                  selected_values.push($(this).val());
              });
          });
          $.ajax({
              url: 'EmployeeDate',
              datatype: "application/json",
              traditional:true, 
              data: {
                  lstUserName: selected_values,
                  strDate: date
              },
              success: function (data, textStatus, jqXHR) {
                  $('#DataUser').html(data);
              },
              error: function () {
                  console.log("error handler when ajax request fails... ");
              },

          });
      });
  });

这是控制器:

public IEnumerable<DateTime> getInfoByDate(string strDate, string[] lstUserName)
{
    CareDB context = new CareDB();
    IEnumerable<DateTime> lst = null;
    List<DateTime> model = new List<DateTime>();

    if (lstUserName != null)
    {
        foreach (string user in lstUserName)
        {
            SqlParameter userName = new SqlParameter("@EmployeeName", user);
            SqlParameter Date = new SqlParameter("@Date", strDate);
            object[] parameters = new object[] { Date, userName };

            model.Add(context.ReleaseDate.SqlQuery("_UserInformationByDate @Date, @EmployeeName", parameters).ToList().FirstOrDefault());
        }
    }
    else
    {
        SqlParameter Date = new SqlParameter("@Date", strDate);
        SqlParameter userName = new SqlParameter("@EmployeeName", lstUserName);

        object[] parameters = new object[] { Date, userName };

        model = context.ReleaseDate.SqlQuery("_UserInformationByDate @Date, @EmployeeName", parameters).ToList();
    }
    context.Dispose();
    context = null;
    return model;
}

【问题讨论】:

    标签: javascript c# asp.net-mvc checkbox


    【解决方案1】:

    试试这个

         $(document).ready(function () {
                      selected_values = []; // initialize empty array 
    
                      // nothing selected so push all value regadless
                      if( $(".checked:checked").length == 0)
                      {
                         $(".checked").each(function () {
                          selected_values.push($(this).val());
                          });
                      }
                    else
                    {
                      $(".checked:checked").each(function () {
                          selected_values.push($(this).val());
                      });
                      });
                   }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多