2

私は最新バージョンで作業しhandsontable.jsています。handontalbeとjqueryに追加する新しい機能を追加したい。これらの両方のメニュー オプションを に追加しました。しかし、選択したすべてのテキストを太字にして通常にする方法はありますか。contextMenu boldnormal textcontextMenucell

これがhandsontableの私の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; ?>

    });

アップデート

私が欲しいものの詳細については、ここに画像を追加しています:

ここに画像の説明を入力

この画像では、青い領域が見えます。コンテキストメニューから「太字」をクリックすると、これらすべてのセルが太字になります。コンテキストメニューから「通常のテキスト」をクリックすると、通常に戻ります。

セル値を取得するにはどうすればよいですか? セルに値を戻すにはどうすればよいですか?

多くのフォーラムと投稿で検索しましたが、答えが得られません:

前もって感謝します。

4

2 に答える 2

0

これが最善の解決策ではないことはわかっていますが、他に何も機能しない場合は、次のことができます。

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

jsフィドル

于 2015-12-15T13:30:55.650 に答える