【发布时间】:2020-03-18 14:05:46
【问题描述】:
我找到了一个代码here动态改变表格内容
脚本在jQuery
原jQuery代码动态改变表格内容
$(document).ready(function(e) {
var data1 = [
{ field1: 'value a1', field2: 'value a2', field3: 'value a3', field4: 'value a4' },
{ field1: 'value b1', field2: 'value b2', field3: 'value b3', field4: 'value b4' },
{ field1: 'value c1', field2: 'value c2', field3: 'value c3', field4: 'value c4' }
];
var data2 = [
{ field1: 'new value a1', field2: 'new value a2', field3: 'new value a3' },
{ field1: 'new value b1', field2: 'new value b2', field3: 'new value b3' },
{ field1: 'new value b1', field2: 'new value b2', field3: 'new value b3' },
{ field1: 'new value c1', field2: 'new value c2', field3: 'new value c3' }
];
function loadTable(tableId, fields, data) {
//$('#' + tableId).empty(); //not really necessary
var rows = '';
$.each(data, function(index, item) {
var row = '<tr>';
$.each(fields, function(index, field) {
row += '<td>' + item[field+''] + '</td>';
});
rows += row + '<tr>';
});
$('#' + tableId + ' tbody').html(rows);
}
loadTable('data-table', ['field2', 'field1', 'field3'], data1);
$('#btn-update').click(function(e) {
loadTable('data-table', ['field2', 'field1', 'field3'], data2);
});
});
我有类似的代码,但数据内容是
喜欢 'rollno','name', 'state', 'city','class', 'age'
[
{ 'rollno': 'value a1', 'name': 'value a2', 'state': 'value a3', 'city': 'value a4', 'class': 'value a5', 'age': 'value a6' },
{ 'rollno': 'value b1', 'name': 'value b2', 'state': 'value b3', 'city': 'value b4', 'class': 'value b5', 'age': 'value b6' },
{ 'rollno': 'value c1', 'name': 'value c2', 'state': 'value c3', 'city': 'value c4' , 'class': 'value c5', 'age': 'value c6'}
];
而不是
[
{ field1: 'value a1', field2: 'value a2', field3: 'value a3', field4: 'value a4' },
{ field1: 'value b1', field2: 'value b2', field3: 'value b3', field4: 'value b4' },
{ field1: 'value c1', field2: 'value c2', field3: 'value c3', field4: 'value c4' }
];
我的代码
function get_student_filters() {
var selected_city = document.getElementById("student_city_selected").value;
var selected_state = document.getElementById("student_state_selected").value;
var selected_class = document.getElementById("student_class_selected").value;
var selected_student_filter_data = {
s_city:selected_city,
s_state:selected_state,
s_class:selected_class
};
$.ajax({
type: "POST",
contentType: "application/json;charset=utf-8",
url: "http://127.0.0.1:5000/filter_student",
traditional: "true",
async:false,
timeout: 40000,
data: JSON.stringify({selected_student_filter_data}),
dataType: "json",
success: function(selected_student){
var selected_student_data = JSON.stringify(selected_student)
// Recevied data from the flask of the selected data from the table
$(document).ready(function(selected_student_data) {
// Function to fill the table
function loadTable(tableId, fields, data) {
// $('#' + tableId).empty(); //not really necessary
var rows = '';
$.each(data, function(index, item) {
var row = '<tr>';
$.each(fields, function(index, field) {
row += '<td>' + item[field+''] + '</td>';
});
rows += row + '<tr>';
});
$('#' + tableId + ' tbody').html(rows);
// call function to populate the table
loadTable('studetnt_table', ['rollno','name', 'state', 'city','class', 'age'], selected_student_data);
}
}
});
}
桌子上什么都没有打印出来
两个问题
1) 我收到的数据与 sn-p 中的语法不同
2) 我不知道 $(document).ready(function(selected_student_data) jQuery 是否可以像我上面写的那样在 js 脚本中工作
谁能指导我这里
PS
这不是在button click 上,而是在用户为city 、class 和state How to make dropdown list filter for a table using jQuery? 中的列下拉选择的选项上。
【问题讨论】:
-
数据在我看来完全一样:对象中的键周围是否有引号无关紧要:它们对您的情况没有影响。
-
@Terry 如果没有问题数据字段,我如何填充表格?我已经更新了
标签: javascript jquery html