Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 初始可手持视图未拉伸到正确的宽度_Javascript_Jquery_Twitter Bootstrap_Handsontable - Fatal编程技术网

Javascript 初始可手持视图未拉伸到正确的宽度

Javascript 初始可手持视图未拉伸到正确的宽度,javascript,jquery,twitter-bootstrap,handsontable,Javascript,Jquery,Twitter Bootstrap,Handsontable,我有一个handsontable对象(实际上是两个对象,都处于引导模式),在构建页面后加载了数据。这里有一个重复问题的JSFIDLE 这些表的大小太窄,即使使用了stretchH:all选项。一旦我点击内容,它们就会像魔术一样调整到正确的列宽。我是否缺少一些初始化参数?加载新数据后,如何将其大小设置为正确的宽度 /* these tables are in the modal */ $('#keyword_table').handsontable({ data: keyword_

我有一个handsontable对象(实际上是两个对象,都处于引导模式),在构建页面后加载了数据。这里有一个重复问题的JSFIDLE

这些表的大小太窄,即使使用了
stretchH:all
选项。一旦我点击内容,它们就会像魔术一样调整到正确的列宽。我是否缺少一些初始化参数?加载新数据后,如何将其大小设置为正确的宽度

  /* these tables are in the modal */
  $('#keyword_table').handsontable({
    data: keyword_data,
    rowHeaders: true,
    colHeaders: ['Keywords'],
    columnSorting: true,
    contextMenu: true,
    height: 256,
    stretchH: "last",
    enterBeginsEditing: false,
    minSpareRows: 1
  });
我正在使用以下代码加载数据,成功的ajax调用会调用这些代码:

function load_table_from_ajax(tbl, data) {
  var $tbl = $(tbl);
  var hot = $tbl.handsontable('getInstance');
  // this formats my data appropriately
  var new_data = _.map(data, function (kw) {
    return new Array(kw);
  });
  hot.loadData(new_data);
  /* I have tried also doing a: hot.render(); */
}
根据教程,所有代码看起来都是正确的,你知道为什么表格不能正确拉伸/调整大小吗

在与Handsontable交互之前,它如下所示: 但单击标题或添加值后:

试试
冷宽:[100]

以像素为单位定义列宽。接受数字、字符串(将转换为数字), 数字数组(如果要为每列分别定义列宽)或
函数(如果要在每次渲染时动态设置列宽)。

尝试在初始化时指定
宽度。由于未进行设置,
stretchH
可能无法进行所需的计算。我以前见过这种行为,设置它通常会修复它。

您能发布JSFIDLE吗?您的代码可能还有其他问题。您应该尝试定义实际表的宽度,因为您在这里没有这样做。IDLE is THREF@FranciscoV,这确实有效,但我希望它能够响应父容器的大小。它不是完美的,也不是响应性的,但它有效,谢谢!谢谢@ZekeDroid,用宽度敲击HTML元素没有帮助,但是上面的列宽设置起到了作用。不是HTML元素,而是初始化本身。在初始化对象中。另外,我强烈建议创建一个对象,而不是将其附加到jquery。这意味着要做
新的Handsontable(container,options)
,而不是
$(container)。Handsontable(options)
。所以你需要添加
宽度:100
或者你想要多少像素。是的,不使用jquery选择器是一个技巧。它还解决了另外两个bug。谢谢你的帮助@ZekeDroid@ZekeDroid您应该添加关于选择器的评论作为实际答案。(它完全解决了我遇到的类似问题)