我正试着用手柄装载数据。
HTML文件非常基本:只有一个表和一个按钮来加载由php脚本(名为actions.php)发送的数据:
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="dist/handsontable.full.js"></script>
<link rel="stylesheet" media="screen" href="dist/handsontable.full.css">
</head>
<body>
<div id="hot"></div>
<br />
<input id="try" type="button" value="Try" />
</body>
<script>
$(function() {
var objectData = [
{id: 1, name: 'Ted Right', address: ''},
{id: 2, name: 'Frank Honest', address: ''}];
$('#hot').handsontable({
data: objectData,
colHeaders: true,
minSpareRows: 1
});
var hot = $("#hot").handsontable('getInstance');
$("#try").click(function(){
$.getJSON("actions2.php", function(result){
console.log (objectData);
console.log (JSON.parse(result));
hot.render();
});
});
});
</script>
</html>php也是非常基本的
<?php
$result=array(
array("id" => 5, "name" => "Bill Gates", "address"=>"zzz"),
array("id" => 6, "name" => "Steve Jobs", "address"=>"xxx")
);
echo json_encode(json_encode($result));
?>当我单击"Try“按钮时,objectData会被很好地更新,但尽管有hot.render()指令,它不会更新该表。
知道我做错了什么吗?
雷格兹
发布于 2017-04-10 13:20:00
我发现问题了。
在js脚本中缺少.loadData方法,而php中有一个json_encode错误。
下面是一个有用的例子。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="dist/handsontable.full.js"></script>
<link rel="stylesheet" media="screen" href="dist/handsontable.full.css">
</head>
<body>
<div id="hot" />
<br />
<input id="go" type="button" value="Click me" />
</body>
<script>
$(function() {
var objectData = [
{id: 1, name: 'Ted Right', address: ''},
{id: 2, name: 'Frank Honest', address: ''}];
$('#hot').handsontable({
data: objectData,
colHeaders: true
});
var hot = $("#hot").handsontable('getInstance');
$("#go").click(function(){
$.getJSON("actions2.php", function(result){
hot.loadData(result);
hot.render();
});
});
});
</script>
</html>和actions2.php文件
<?php
$result=array(
array("id" => 5, "name" => "Bill Gates", "address"=>"zzz","ee"=>"zz"),
array("id" => 6, "name" => "Steve Jobs", "address"=>"xxx")
);
echo (json_encode($result));
?>https://stackoverflow.com/questions/43294436
复制相似问题