手动表:动态添加下拉值
Handsontable: Adding drop down values dynamically
我使用以下代码向第一行的所有列添加一个下拉列表。
var hot = new Handsontable(container,
{
data: results,
colWidths: [200, 200, 200, 200, 200, 200, 200, 200, 200],
colHeaders: false,
contextMenu: true,
cells : function (row, col, prop) {
if (row === 0) {
this.type = 'dropdown';
var val = this.instance.getValue();
if(typeof val != 'undefined') {
this.source = [val, 'Code', 'Type', 'Color'];
}
}
}
});
在我的单元格函数中,我正在尝试将当前单元格值添加到下拉列表中(默认值为代码、类型和颜色)。但是,如果用户决定在单元格中输入"重量",那么我希望下拉列表包含("重量","代码","类型"和"颜色")。
上面的函数确实这样做了,但不正确...每次调用函数时,添加的值都会被下一个替换。
然后,我尝试创建一个列表,我将val
值添加到该列表并将source
设置为该列表。
但我不禁觉得有更好的方法可以做到这一点。
任何指示将不胜感激!
我明白了,从您的评论中可以看出,您似乎想将值附加到源列表中。因此,我建议如下:
var hot = new Handsontable(container,
{
data: results,
colWidths: [200, 200, 200, 200, 200, 200, 200, 200, 200],
colHeaders: false,
contextMenu: true,
cells : function (row, col, prop) {
if (row === 0) {
this.type = 'dropdown';
var val = this.instance.getValue();
if(typeof val != 'undefined') {
this.source.push(val); // to add to the beginning do this.source.unshift(val) instead
}
}
}
});
这样做的作用是将当前值追加到源列表中。这样,下次输入值时,它将被追加而不是替换。
<select ng-repeat="myModel">
<option value=1>First Selection</option>
<option value=2>Second Selection</option>
</select>
相关文章:
- 正在添加动态第二类Jquery
- 如何在javascript而不是jquery中添加动态列表
- 为图例添加动态色彩标签
- 如何在谷歌表单中添加动态字段
- 如何添加动态Id's并在运行时提取它们
- 在 JavaScript 中添加动态文本
- 如何添加动态表单元素但保留其值(JS)
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- 如何使用JavaScript添加动态HTML内容(DIV)
- javascript初学者:在javascript中添加动态样式
- 如何使用Javascript在html源中添加动态数据
- 向Uploadify添加动态字段
- 如何在 Vue.js 中添加动态组件/部件
- 锚导航与坚持到顶部菜单..需要向锚点添加动态偏移量
- Javascript:添加动态方法
- 向角度对象添加动态功能
- 添加动态文本框时更新动态高度
- JavaScript 运行时错误:无法在 Windows 8 应用中添加动态内容
- 添加动态点击事件
- 添加动态字段以创建特定的 JSON 格式