"fnServerParams": function (aoData) {
var sReportType = (jQuery('#report_type').val() == "") ? "Downline" : jQuery('#report_type').val();
var aRankID = (jQuery('#rank_id').val() == null) ? [] : jQuery('#rank_id').val();
aoData.push({
"name": "report_type",
"value": sReportType,
"name": "rankid",
"value": aRankID.join(',')
});
},
aRankID应该是一个空数组,或者用多选框中的值填充。
当我第一次加载页面时,这就是firebug返回的内容。
>>> jQuery('#rank_id').val();
null
在我做了一些选择后,它就会返回。
>>> jQuery('#rank_id').val();
["1", "2", "3"]
我必须遗漏一些东西,因为它导致我的ajax页面崩溃。我需要使用.join,因为我的ajax页面需要一个字符串。
感谢任何帮助!
答案 0 :(得分:2)
应该
var aRankID = (jQuery('#rank_id').val() == null) ? [] : jQuery('#report_type').val();
不是
var aRankID = (jQuery('#rank_id').val() == null) ? [] : jQuery('#rank_id').val();
您使用jQuery('#report_type').val()
代替jQuery('#rank_id').val()
答案 1 :(得分:1)
这看起来很可疑:
var aRankID = (jQuery('#rank_id').val() == null) ? [] : jQuery('#report_type').val();
您的意思是检查#rank_id
但是使用#report_type
中的值吗?
答案 2 :(得分:1)
试试这个:
"fnServerParams": function (aoData) {
aoData.push({
"name": "report_type",
"value": jQuery('#report_type').val() || "Downline",
"name": "rankid",
"value": (jQuery('#rank_id').val() || []).join(",")
});
}