首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Handsontable -表未呈现

Handsontable -表未呈现
EN

Stack Overflow用户
提问于 2017-04-08 13:02:48
回答 1查看 356关注 0票数 1

我正试着用手柄装载数据。

HTML文件非常基本:只有一个表和一个按钮来加载由php脚本(名为actions.php)发送的数据:

代码语言:javascript
复制
<!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也是非常基本的

代码语言:javascript
复制
<?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()指令,它不会更新该表。

知道我做错了什么吗?

雷格兹

EN

回答 1

Stack Overflow用户

发布于 2017-04-10 13:20:00

我发现问题了。

在js脚本中缺少.loadData方法,而php中有一个json_encode错误。

下面是一个有用的例子。

代码语言:javascript
复制
<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文件

代码语言:javascript
复制
<?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));
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43294436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档