我有一個下拉列表,我需要填充從ajax調用傳遞的日期時間值。填充的值如下所示:「/ date1234847269 /」而不是實際日期。我只需要將日期傳遞到下拉列表中。我不需要也在控制器返回的日期時間值中的時間戳。返回使用Ajax下拉日期時間列表
我不確定jQuery是否在處理c#日期時間值而不是字符串方面有問題。任何幫助,將不勝感激。由於
筆者認爲:
<select id="ddlDate" class="form-control bold">
<option value='0'>--Select Date--</option>
</select>
我的AJAX調用:
function loadDateDDL(historicalIsChecked, monthlyIsChecked) {
$.ajax({
type: 'POST',
url: '@Url.Action("GetGroupReportDates")',
dataType: 'json',
data: { isMonthly: monthlyIsChecked },
success: function (returnData) {
convertDate(returnData);
$("#ddlDate").empty();
$("#ddlDate").append("<option value='0'>--Select Date--</option>");
$.each(returnData, function (value, key) {
$("#ddlDate").append($("<option></option>")
.attr("value", value).text(key));
});
//alert(returnData);
},
error: function (ex) {
alert('Failed to retrieve dates.' + ex);
}
});
}
function convertDate(returnData)
{
var date = new Date(returnData);
return date;
}
我的控制器:
public JsonResult GetGroupReportDates (Boolean isMonthly)
{
List<DateTime> reportDates = RealmsModel.RealmsAuditDataInterface ().GetGroupQueryRptDates (isMonthly);
return new JsonResult ()
{
Data = reportDates,
MaxJsonLength = Int32.MaxValue
};
}
更新2016年1月21日:
我現在傳遞我的json數據「returnDa TA」下面的JavaScript函數並將其轉換基於另一種疊後:How do I format a Microsoft JSON date?
function convertDate(returnData)
{
var date = new Date(returnData);
return date;
}
現在,這給我的錯誤‘date = Invalid Date {}, returnData = ["/Date(1451628000000)/"]
’。我覺得我正在接近。任何幫助表示讚賞。
根據您的評論,我發現另一組問題:http://stackoverflow.com/questions/206384/format-a-microsoft-json-日期 我試過了:var date = new Date(returnData);我得到無效日期...任何想法? – coggicc
您仍然需要從字符串中提取數字('/ Date \(([^)] +)/ .exec(value)[1]')並將其解析爲一個int('parseInt({value} ,10)')。您不能僅將「/ Date(1451628000000)/」傳遞給Date構造函數。 – christophano
這只是返回「returnData = [」/ Date(1451628000000)/「]」,這是傳遞給你的函數的東西。 – coggicc