bootgrid自定义加载数据
bootgrid custom loading of data
现在我正在尝试为 college.Now 生成一个基于主题的 bootgrid table 它可以很好地显示所有 data.But 我想要的是一个高级搜索,其中基于选择主题在分支和 semester.I 上获取分支和学期选项,在 syfetch.php 函数中我执行高级 serach.Here 正在发送函数
$('#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 发送这些变量有错误所以请帮助我。
bootgrid 配置中的参数之一是 post
,它是一个函数。此函数允许您向 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 重新加载(例如,用户切换到另一个页面,或按另一列排序,或单击刷新按钮),都会再次调用 post 函数 .因此,您可以从 DOM 那里加载分支和学期。
您之前的代码覆盖了您传递给数据的 formData
,因为它正在创建一个只有 id
属性 的新对象,您可能从某个演示中获得了该对象,而您根本没有使用:
return{
id: "b0df282a-0d67-40e5-8558-c9e93b7befed"
};
现在我正在尝试为 college.Now 生成一个基于主题的 bootgrid table 它可以很好地显示所有 data.But 我想要的是一个高级搜索,其中基于选择主题在分支和 semester.I 上获取分支和学期选项,在 syfetch.php 函数中我执行高级 serach.Here 正在发送函数
$('#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 发送这些变量有错误所以请帮助我。
bootgrid 配置中的参数之一是 post
,它是一个函数。此函数允许您向 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 重新加载(例如,用户切换到另一个页面,或按另一列排序,或单击刷新按钮),都会再次调用 post 函数 .因此,您可以从 DOM 那里加载分支和学期。
您之前的代码覆盖了您传递给数据的 formData
,因为它正在创建一个只有 id
属性 的新对象,您可能从某个演示中获得了该对象,而您根本没有使用:
return{
id: "b0df282a-0d67-40e5-8558-c9e93b7befed"
};