Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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_Contextmenu_Handsontable_Custom Contextmenu - Fatal编程技术网

Javascript 单击上下文菜单';粗体';可手持

Javascript 单击上下文菜单';粗体';可手持,javascript,jquery,contextmenu,handsontable,custom-contextmenu,Javascript,Jquery,Contextmenu,Handsontable,Custom Contextmenu,我正在使用jquery最新版本开发handsontable.js。 我想添加新功能以添加到Handsonalbe上下文菜单粗体和普通文本。我在contextMenu中添加了这两个菜单选项。 但是如何使所有选定的单元格文本加粗和正常 以下是我的jquery代码: $("#A_tabledata").handsontable({ data: data, startRows: 1, startCols: 2, minRows: 1,

我正在使用
jquery
最新版本开发
handsontable.js
。 我想添加新功能以添加到Handsonalbe
上下文菜单
粗体
普通文本
。我在
contextMenu
中添加了这两个菜单选项。 但是如何使所有选定的
单元格
文本加粗和正常

以下是我的jquery代码:

$("#A_tabledata").handsontable({
        data: data,
        startRows: 1,
        startCols: 2,
        minRows: 1,
        minCols: 2,
        maxRows: 400,
        maxCols: 200,
        rowHeaders: false,
        colHeaders: false,
        minSpareRows: 1,
        minSpareCols: 1,
        mergeCells: true,
        cells: function (row, col, prop) {
            var cellProperties = {};
            cellProperties.renderer = "defaultRenderer"; //uses lookup map
            return cellProperties;
        },
        contextMenu: {
            callback: function(key, options) {
                if(key == 'bold'){
                    //Return index of the currently selected cells as an array [startRow, startCol, endRow, endCol]
                    var sel = this.getSelected() ;
                    var boldValues = ''; //How can i get cell value?
                    // How can i set value back to in the cell?    
                }

                if(key == 'normalText'){
                    //Return index of the currently selected cells as an array [startRow, startCol, endRow, endCol]
                    var sel = this.getSelected();
                    var normalValues = ''; //How can i get cell value?
                    // How can i set value back to in the cell?    

                }
            },
            items: {
                "row_above": {},
                "row_below": {},
                "col_left": {},
                "col_right": {},
                "hsep2": "---------",
                "remove_row": {name:'Remove row(s)'},
                "remove_col": {name:'Remove columns(s)'},
                "hsep3": "---------",
                "alignment" : {},
                "mergeCells" : {},
                "hsep4": "---------",
                "undo": {},
                "redo": {},
                "hsep5": "---------",
                "bold": {"name": "Bold"},
                "normalText": {"name": "Normal Text"}
            }
        },
        cell: <?php echo $metadata; ?>,
        mergeCells:  <?php echo $metadata; ?>

    });
$(“#A#u tabledata”)。可手持({
数据:数据,
startRows:1,
startCols:2,
麻雀:1,
明科尔斯:2,
最大行数:400,
马克斯:200,
行标题:false,
colHeaders:false,
会议记录:1,
minSpareCols:1,
对,,
单元格:函数(行、列、属性){
var cellProperties={};
cellProperties.renderer=“defaultRenderer”;//使用查找映射
归还财产;
},
上下文菜单:{
回调:函数(键、选项){
如果(键=='bold'){
//以数组形式返回当前选定单元格的索引[startRow、startCol、endRow、endCol]
var sel=this.getSelected();
var boldValues='';//如何获取单元格值?
//如何将单元格中的值设置回?
}
如果(键=='normalText'){
//以数组形式返回当前选定单元格的索引[startRow、startCol、endRow、endCol]
var sel=this.getSelected();
var normalValues='';//如何获取单元格值?
//如何将单元格中的值设置回?
}
},
项目:{
“上面第u行”:{},
“下面第u行”:{},
“col_left”:{},
“col_right”:{},
“hsep2”:“-----------”,
“删除行”:{name:'remove row(s)},
“删除列”:{name:'remove columns},
“hsep3”:“-----------”,
“对齐”:{},
“合并单元格”:{},
“hsep4”:“-----------”,
“撤消”:{},
“重做”:{},
“hsep5”:“-----------”,
“粗体”:{“名称”:“粗体”},
“普通文本”:{“名称”:“普通文本”}
}
},
单元格:,
合并单元格:
});
更新

有关我想要的更多信息,我在此处添加图像:

在此图像中,您可以看到蓝色区域。当我从关联菜单中单击“粗体”时,我希望所有这些单元格都是粗体的。当我点击上下文菜单中的“普通文本”时,返回到正常状态

如何获取单元格值? 如何将单元格中的值设置回

我在许多论坛和帖子中搜索过,但没有得到答案:


提前感谢。

如果您看到方法
getSelected()
的文档,它会说:

getSelected(){Array}
以数组形式返回当前选定单元格的索引
[startRow,startCol,endRow,endCol]

起始行和起始列是活动单元格的坐标(选择从这里开始)。
返回:{Array}所选索引的数组

在您的情况下不需要此方法,请参阅下面的演示或使用我添加的代码示例

因此,根据这一点,您只需要:

callback: function(key, options) {
    if (key === 'bold') {
      $('.area').html(function() {
        return $('<strong>', {
          text: this.textContent
        });
      });
    } else if (key === 'normal') {
      $('.area').html(function() {
        return this.textContent
      });
    }
  },
正文{
背景:白色;
利润率:20px;
}
氢{
利润率:20px0;
}

我知道这不是最好的解决方案,但如果没有其他办法,您可以这样做:

var sel = this.getSelected(), row = sel[0] + 1, col = sel[1];
$('table tr:eq(' + row + ') td:eq(' + col + ')').css('font-weight', 'bold');

嗨,谢谢你的回答。我已经为我想要的添加了一个图像。这会返回什么
this.getSelected()
?这似乎很有用。它将返回类似于5,1,1,2Seems单元格索引的内容。是吗?@BhavinSolanki这是一个迟来的回复,但你可以看看怎么做?我添加了一个工作片段。我希望这就是你要找的。