function initList() { $.ajax({ type: "post", url: "${ctx}/overall/risk/inspectyh/inventory/json", data : {"beginDate":$("#beginDate").val(),"endDate":$("#endDate").val()}, dataType: "json", //返回数据形式为json success: function (result) { console.log("获取到数据",result) if(result!=null){ var data = result.rows; var tab = ''; $("#tab").html(tab); for(var i=0; i<data.length; i++){ var row = data[i]; tab += '<tr>'; tab += '<td class="td">'+(row[2]!=null?row[2]:'')+'</td>'; tab += '<td class="td"><a href="javascript:void(0);" onClick="javascript:toYhList(\''+row[0]+'\',\''+row[1]+'\',1);">'+(row[3]!=null?row[3]:'')+'</a></td>'; tab += '<td class="td"><a href="javascript:void(0);" onClick="javascript:toYhList(\''+row[0]+'\',\''+row[1]+'\',2);">'+(row[4]!=null?row[4]:'')+'</a></td>'; tab += '<td class="td"><a href="javascript:void(0);" onClick="javascript:toYhList(\''+row[0]+'\',\''+row[1]+'\',3);">'+(row[5]!=null?row[5]:'')+'</a></td>'; tab += '<td class="td">'+(row[6]!=null?row[6]:'')+'%</td>'; tab += '</tr>'; } $("#tab").html(tab); } } }); }这个方法的详细作用
时间: 2024-04-03 13:35:47 浏览: 49
这是一个 JavaScript 函数,用于通过 AJAX 请求获取数据并将其展示在页面上。具体作用如下:
1. 定义了一个名为 `initList` 的函数。
2. 在函数中使用了 jQuery 的 AJAX 方法向后端发送请求获取数据。
3. 请求的 URL 为 `${ctx}/overall/risk/inspectyh/inventory/json`,其中 `${ctx}` 是一个占位符,需要在前端代码中进行替换,通常用于指定应用的上下文路径。
4. 请求的方法为 POST,数据类型为 JSON。
5. 在请求成功后,将返回的数据解析为 JSON 格式并保存在 `result` 变量中。
6. 如果返回的数据不为空,则将数据遍历并生成 HTML 代码,最后将 HTML 代码插入到页面中展示给用户。
具体来说,该函数会生成一个表格,表格中包含多行数据,每行数据对应后端返回的一条记录。表格中的每一列分别显示记录中的不同字段,其中某些字段还包含了链接,用户可以点击链接进行跳转。
相关问题
<table class="tableStyle" formMode="view"> <tr> <th>乡镇/县名称</th> <th>一般隐患</th> <th>重大隐患</th> <th>未完成整改隐患</th> <th>隐患整改率</th> <th>汇总</th> </tr> </table><script type="text/javascript">function initComplete() { initList(); } function initList() { $.ajax({ type: "post", url: "${ctx}/overall/risk/inspectyh/inventory/json", data : {"beginDate":$("#beginDate").val(),"endDate":$("#endDate").val()}, dataType: "json", //返回数据形式为json success: function (result) { console.log("获取到数据",result) if(result!=null){ var data = result.rows; var tab = ''; $("#tab").html(tab); for(var i=0; i<data.length; i++){ var row = data[i]; if(row[2]!=null&&row[2]!=''){ tab += '<tr>'; tab += '<td class="td">'+(row[2]!=null?row[2]:'')+'</td>'; tab += '<td class="td"><a href="javascript:void(0);" onClick="javascript:toYhList(\''+row[0]+'\',\''+row[1]+'\',1);">'+(row[3]!=null?row[3]:'')+'</a></td>'; tab += '<td class="td"><a href="javascript:void(0);" onClick="javascript:toYhList(\''+row[0]+'\',\''+row[1]+'\',2);">'+(row[4]!=null?row[4]:'')+'</a></td>'; tab += '<td class="td"><a href="javascript:void(0);" onClick="javascript:toYhList(\''+row[0]+'\',\''+row[1]+'\',3);">'+(row[5]!=null?row[5]:'')+'</a></td>'; tab += '<td class="td">'+(row[6]!=null?row[6]:'')+'%</td>'; tab += '</tr>'; } } $("#tab").html(tab); } } }); }此段代码中我要添加汇总一行并且计算各列的值怎么写
您可以尝试在代码中添加以下内容来实现汇总一行并计算各列的值:
```
// 计算汇总值
var total1 = 0;
var total2 = 0;
var total3 = 0;
var total4 = 0;
$('#tab tr').not(':first').each(function() {
total1 += parseInt($(this).find('td:eq(1)').text()) || 0;
total2 += parseInt($(this).find('td:eq(2)').text()) || 0;
total3 += parseInt($(this).find('td:eq(3)').text()) || 0;
total4 += parseFloat($(this).find('td:eq(4)').text()) || 0;
});
// 添加汇总行
var tab = '<tr>';
tab += '<td class="td">汇总</td>';
tab += '<td class="td">'+total1+'</td>';
tab += '<td class="td">'+total2+'</td>';
tab += '<td class="td">'+total3+'</td>';
tab += '<td class="td">'+(total1+total2+total3==0?'0':(total1+total2)/(total1+total2+total3)*100)+'%</td>';
tab += '</tr>';
$("#tab").append(tab);
```
这段代码中,我们首先定义了四个变量 total1、total2、total3 和 total4,分别用于存储一般隐患、重大隐患、未完成整改隐患和隐患整改率的总和。然后,我们使用 jQuery 的 each() 方法遍历表格中除了表头以外的每一行,将每一列的值累加到相应的总和变量中。
接着,我们定义了一个名为 tab 的字符串变量,用于存储汇总行的 HTML 代码。在这个字符串中,我们首先添加了一个汇总单元格,然后依次添加了四个单元格,分别显示一般隐患、重大隐患、未完成整改隐患和隐患整改率的总和。最后,我们使用 append() 方法将这个汇总行添加到表格的末尾。
需要注意的是,隐患整改率的计算方式可能需要根据实际情况进行调整,这里提供的是一种简单的计算方式,您可以根据需要进行修改。
vue.runtime.esm.js:4003 TypeError: Cannot read properties of undefined (reading 'initList')
这个错误是由于在vue.runtime.esm.js文件的第4003行尝试读取未定义对象的属性 'initList' 导致的。根据提供的引用内容,问题可能是由于版本不匹配或者声明对象为空导致的。如果你使用的是vue2而下载的是vuex的最新版本,则版本不匹配可能会导致此错误。你可以尝试将vuex版本降低到适用于vue2的版本,或者更新你的vue版本以匹配最新的vuex版本。另外,如果你在后端返回的数据中有null值,也可能导致页面无法显示或无法关闭。确保数据返回后没有null值可以解决这个问题。
阅读全文