如何关注表格单元格内的输入?

时间:2016-02-06 16:15:03

标签: jquery excel datatables

我在表格单元格中输入了

public void onDraw(Canvas canvas){

    super.onDraw(canvas);
    canvas.drawColor(Color.BLACK);
    Paint paint = new Paint();
    paint.setColor(Color.BLUE);
    for(int i=0;i<10;i++){
        canvas.drawLine(0,100*i,canvas.getWidth(),100*i,paint);
    }

}

当我选中表格单元格时,它会应用类<td alt="" class="timesheet-highlight"><input type="text" id="C6R1" name="C6R1" size="7" value="0.00" class="form-control"></td> 。我弄清楚的是如何集中细胞内的输入。表中有多个输入,ID是动态生成的,因此无法知道它是什么。有些单元格可能没有任何输入。

当我使用此

选项卡进入单元格时,我可以触发事件
timesheet-highlight

我正在使用Datatables,这是我生成所述表的完整代码:

.on('key-focus', function (e, datatable, cell) {
    if ($('td').hasClass('timesheet-highlight')) {
        alert('hi');
    }                
});

1 个答案:

答案 0 :(得分:0)

.on(&#39; key-focus&#39; ....函数具有cell参数,该参数是焦点当前所在的单元格。

通过调用cell.node(),您可以获得&#39; td&#39;元件 所以,如果我理解正确,你想要的是:

.on('key-focus', function (e, datatable, cell) {
   var inputFieldInSelectedTd = $(cell.node()).find('input');
   if (inputFieldInSelectedTd) {
      inputFieldInSelectedTd.focus();
   }
});