如何获取标题单元格的当前值? (包括嵌套标题)

时间:2016-12-13 15:20:12

标签: javascript jquery html handsontable

我有一个handontable,其中一些标题是复选框,其中一些是选择框。

如何访问标题以检查标题单元格内的select / checkbox的值?

JSFiddle(带嵌套标题 - 与我的项目相同):http://jsfiddle.net/Lmh50uwu/

我想访问myboxmyselect

的值

$("#mybox")$("#myselect")不起作用。

我希望能够在DOM加载后的任何时候检查myselectmybox的值。

document.addEventListener("DOMContentLoaded", function() {

  var example1 = document.getElementById('example1');
  
  var hot = new Handsontable(example1, {
    data: Handsontable.helper.createSpreadsheetData(5,10),
    colHeaders: true,
    rowHeaders: true,
    nestedHeaders: [
      ['<input type="checkbox" id="mybox">', {label: 'B', colspan: 8}, 'C'],
      ['<select id="myselect" name="menu" class="selectpicker"><option value="LVW">LVW</option><option value="SIM">SIM</option></select>', {label: 'E', colspan: 4}, {label: 'F', colspan: 4}, 'G'],
      ['H', {label: 'I', colspan: 2}, {label: 'J', colspan: 2}, {label: 'K', colspan: 2}, {label: 'L', colspan: 2}, 'M'],
      ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W']
    ]
  });
  
  
});

$("#mybox").remove();

console.log("test")
var elem = document.getElementById("myselect");
// console.log(elem.value); // elem is null here
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://docs.handsontable.com/pro/1.0.0/bower_components/handsontable-pro/dist/handsontable.full.min.js"></script>
<link type="text/css" rel="stylesheet" href="https://docs.handsontable.com/pro/1.0.0/bower_components/handsontable-pro/dist/handsontable.full.min.css">
<div>
  <div id="example1" class="hot handsontable htRowHeaders htColumnHeaders"></div>
</div>

编辑:已更新:http://jsfiddle.net/Lmh50uwu/2/

编辑:将代码段添加到我的帖子中,但无法测试,因为我的公司阻止访问它。

1 个答案:

答案 0 :(得分:1)

结果显示行和中的自定义HTML元素列标题需要通过类名来标识,而不是通过id标识。 这是因为DOM树中的行和列标题重复,而且id属性必须是唯一的。

(见链接:http://bollwyvl.github.io/jquery-handsontable/demo/renderers_html.html

<强>解决方案:

<input type="checkbox" class="mybox">与getter $(".mybox")[1].checked

一起使用

而不是

<input type="checkbox" id="mybox">与getter $("#mybox").checked

一起使用