在复选框中获取默认值
get default value in a checkbox
我在函数中有一个下拉复选框。因此,用户可以选择一个、多个或零个。当用户选择一个或多个时,一切都是正确的。但是当用户没有选择任何一个时,我会有一个空指针异常。为了处理这个异常,我想默认情况下,如果他没有选择任何东西来显示所有结果(就像他选择所有一样)。我该怎么做?
这是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;
}
试试这个
$(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());
});
});
}
相关文章:
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- jquerydatetimepicker日期和时间应在框默认值中,而无需单击框
- 如果值为空,如何设置输入的默认值?jQuery
- 骨干模型默认值-todos.js示例中不必要的代码
- jquery日期选择器年份范围默认值
- 如何获取下拉列表的默认值
- JQuery检索数据,但如果退出,则获取默认值
- 如何从服务器获取和设置表单的默认值
- 合并可观察量 A 和 B:仅当 A 有数据时才应触发;如果数据或默认值,则从 B 获取
- 如何获取此代码中的默认值
- 如何获取此下拉值并将其更改为默认值
- 如何将默认选择的值获取到javascript中,并在页面加载时将其传递给php
- 如何不获取inputbox的默认值
- 获取函数的默认值
- 在页面加载时使用jQuery获取单选按钮的默认值
- Jquery表单获取默认值
- 获取更改后输入的默认值
- 在复选框中获取默认值
- 获取html中的当前光标类型(如果之前没有通过css设置光标,则为默认值[auto]!)
- 获取计算样式并省略默认值