从表格单元格的输入字段中获取事件.focusout

时间:2014-04-01 14:01:59

标签: javascript jquery events javascript-events

首先,我有一个Google可视化数据表。

之后我创建一个for循环来获取表格单元格值,然后将其放入输入字段:

for (var y = 0, maxrows = data.getNumberOfRows(); y < maxrows; y++) {
    for (var x = 1, maxcols = data.getNumberOfColumns(); x < maxcols; x++) {

      data.setValue(y, x, '<input id="costRedovi" vr="'+ data.getValue(y,0) + '" kol="'+ data.getColumnLabel(x) +'" class="form-control" value="'+data.getValue(y,x)+'">');
    }
} 

现在每个值都进入表格单元格的输入字段。现在我可以在表准备就绪时更改这些值,但现在如何获取这些值,因为我的脚本现在生成此HTML代码。此外,我需要在输入字段上获取事件.focusout的值:

<tr class="google-visualization-table-tr-even google-visualization-table-tr-sel">
   <td class="google-visualization-table-td"><input id="costRedovi" vr="2013-04-01" kol="John Deer n7" class="form-control" value="0"></td>
   <td class="google-visualization-table-td"><input id="costRedovi" vr="2013-04-01" kol="Laza Lazic" class="form-control" value="0"></td>
</tr>

我试着这样做:

new google.visualization.events.addListener(table, 'ready', function () {

    $("#costRedovi").focusout(function() {
        console.log($('#costRedovi').attr('value'));                        
    });

});

问题是现在每个输入都有相同的ID。

1 个答案:

答案 0 :(得分:3)

如果您要使用类而不是ID,那就是:

<tr class="google-visualization-table-tr-even google-visualization-table-tr-sel">
  <td class="google-visualization-table-td"><input vr="2013-04-01" kol="John Deer n7" class="form-control costRedovi" value="0"></td>
  <td class="google-visualization-table-td"><input vr="2013-04-01" kol="Laza Lazic" class="form-control costRedovi" value="0"></td>
</tr>

然后您可以像这样检索未聚焦的输入:

$(".costRedovi").focusout(function() {
  var origval = $(this).attr('value');
  var editedval = $(this).val();

  console.log("before: " + origval + ", after:" + editedval);
});