现在我正在尝试为大学生成一个基于主题的bootgrid表。现在它可以正常显示所有数据。但我想要的是一个高级搜索,根据分支和学期选择主题。我获得分支和学期选项和syfetch.php函数内部执行高级搜索。这是发送函数
$('#semester').change(function(){
var branch=$("#branch").val();
var semester=$("#semester").val();
var formData = new FormData();
formData.append('branch', branch);
formData.append('semester', semester);
var productTable = $('#product_data').bootgrid({
url: "sylfetch.php",
ajax: true,
data:formData,
type:"POST",
post: function(data)
{
return{
id: "b0df282a-0d67-40e5-8558-c9e93b7befed"
};
},
formatters: {
"link": function(column, row) {
return "<a href='" + row.slink + "'>Download</a>";
}
}
});
$('#product_data').bootgrid('reload');
});
现在每当我尝试读取sylfetch.php中的学期和分支的值时,它就会停止工作
$branch = $_POST["branch"];
$semester= $_POST["semester"];
现在我认为使用ajax发送这些变量时出错,所以请帮帮我。
答案 0 :(得分:0)
bootgrid配置中的一个参数是post
,它是一个函数。此功能允许您向帖子数据添加自定义值。然后像这样使用它:
var productTable = $('#product_data').bootgrid({
url: "sylfetch.php",
ajax: true,
data: formData,
type: "POST",
post: function (data) {
return {
branch: $("#branch").val(),
semester: $("#semester").val(),
};
},
formatters: {
"link": function (column, row) {
return "<a href='" + row.slink + "'>Download</a>";
}
}
});
$('#semester').change(function () {
productTable.bootgrid('reload');
});
首先要注意的是,每次更改一个学期时都不需要重建整个网格,因为网格中唯一发生变化的是它的数据。所以你保持对网格的引用(正如你已经做的那样)并重新加载它。
每次bootgrid重新加载(例如用户更改为其他页面,或由其他列排序,或单击刷新按钮)时,再次调用发布功能。因此,您可以从 DOM 加载分支和学期。
您之前的代码覆盖了您传递给数据的formData
,因为它创建了一个只有id
属性的新对象,您可能从某个演示中获得了该对象,并且您没有使用在所有:
return{
id: "b0df282a-0d67-40e5-8558-c9e93b7befed"
};