如何在ajax脚本中使用IF语句
how to use IF statement inside a ajax script?
我想让我的日期时间字体颜色变成红色,当日期是<= datetime.now你知道如何把if语句放在ajax里面吗?
这是我的代码
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
$('#customerTable').dataTable({
"bServerSide" : true,
"sAjaxSource" : "Customer/AjaxHandler",
"bProcessing" : true,
"aoColumns": [
{"sName": "CustomerId", "bVisible":false},
{"sName": "NamaPerusahaan",
"bSearchable": true,
"bSortable": true,
"fnRender": function (oObj){
return '<a href="/Customer/Details/' +
oObj.aData[0] + '">' + oObj.aData[1] + '</a>';
}
},
{"sName": "Alamat1"},
{"sName": "Telephone"},
//below is the datetime
{"sName": "TglNonAktif"},
{"sName": "Edit",
"bSearchable": false,
"bSortable": false,
"fnRender": function (oObj){
return '<a href="/Customer/Edit/' + oObj.aData[0] + '" class="btn mini blue"><i class="icon-edit"></i>Edit</a>';
}
},
{"sName": "Delete",
"bSearchable": false,
"bSortable": false,
"fnRender": function (oObj){
return '<a href="/Customer/Edit/' + oObj.aData[0] + '" class="btn mini red"><i class="icon-trash"></i>Delete</a>';
}
}
]
});
});
</script>
这是控制器
public ActionResult AjaxHandler(JkueryDataTableParamModel param)
{
IEnumerable<Customer> filteredCustomers;
if (!string.IsNullOrEmpty(param.sSearch)
{
var nameFilter = Convert.ToString(Reguest["sSearch_1"]);
var isAlamatSearchable = Convert.ToBoolean(Reguest["sSearch_2"]);
var townFilter = Convert.ToString(Reguest["sSearch_3"]);
filteredCustomers = db.Customers.Where(c => isNamaPerusahaanSearchable && c.NamaPerusahaan.ToLower().Contains(param.sSearch.ToLower())|| isNamaPerusahaanSearchable && c.Alamat1.ToLower().Contains(param.sSearch.ToLower())|| isTelephoneSearchable && c.Telephone.ToLower().Contains(param.sSearch.ToLower()));
}
else
{
filteredCustomers = db.Customers;
}
var isNameSortable = Convert.ToBoolean (Reguest["bSortable_1"]);
var isAddresSortable = Convert.ToBoolean (Reguest["bSortable_2"]);
var isTownSortable = Convert.ToBoolean (Reguest["bSortable_3"]);
var sortColumnIndex = Convert.ToInt32 (Reguest["iSortCol_0"]);
Func<Customer, Obkect> orderingFunction;
switch(sortColumnIndex)
{
case 1:
orderingFunction = (x => isNameSortable ? x.NamaPerusahaan:"");
default:
orderingFunction = (x => isNameSortable ? x.NamaPerusahaan:"");
break;
}
var sortDirection = Reguest["sSortDir_0"];
if (sortDirection == "asc")
filteredCustomers = filteredCustomers.OrderBy (orderingFunction);
else
filteredCustomers = filteredCustomers.OrderByDescending(orderingFunction);
var displayedCustomers = filteredCustomers.Skip(param.iDisplayStart).Take(param.iDisplayLength);
var result = from c in displayedCustomers select new [] { Convert.ToString(c.CustomerId), c.NamaPerusahaan, c.Alamat1, c.Telephone, c.TglNonAktif.ToShortDateString(), "Edit", "Delete"};
return Json (new
{
sEcho = param.sEcho,
iTotalRecords = db.Customers.Count(),
iTotalDisplayRecords = filteredCustomers.Count(),
aaData = result
},
JsonReguestBehavior.AllowGet);
}
任何答案都可能有帮助:D关于
如果您正在构建一个JavaScript对象文字,并希望一个字段根据动态条件具有不同的值,那么您可以:
对于简单的条件/if语句使用三元操作符:
{
"color": (date <= datetime) ? "red" : "black",
...
}
对于更复杂的条件,有两个以上选择的东西,等等,使用匿名函数:
{
"color": (function() { if (...) return "red"; else return "black"; })(),
...
}
括号之间的代码声明内联函数,然后立即对其求值。根据函数体,求值返回任意结果。结果将是一个与给定对象键对应的值。
如果你回答@silver关于日期(和颜色)变量在哪里的问题,我可以更新JSON/ajax代码。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- 在Javascript中将一个值和字符串数组转换为if语句
- Dropbox oauth认证的IF语句的第二部分是't已触发
- MVC Jquery-按钮点击-获取if语句错误
- 如何重写Javascript If语句以选择Classes而不是ID's的HTML格式
- KnockoutJS:为虚拟元素使用嵌套的条件if语句
- If语句发布或操作员发布
- 清除函数中if语句内部不起作用的间隔
- 使用if语句重新循环