jQuery行编辑列表中计算两列的和放在另外一列
时间: 2024-03-12 15:49:19 浏览: 15
在 jQuery 中,可以使用事件委托的方式为表格的行编辑列绑定事件,并且计算两列的和放在另外一列。代码如下:
```javascript
$(document).on("blur", ".editable", function() {
// 获取当前行的第一列和第二列的值
var col1 = $(this).parent().find("td:eq(0)").text();
var col2 = $(this).parent().find("td:eq(1)").text();
// 计算两列的和
var sum = parseFloat(col1) + parseFloat(col2);
// 将计算结果放入第三列
$(this).parent().find("td:eq(2)").text(sum);
});
```
上述代码中,我们使用了 jQuery 的事件委托机制,将 `blur` 事件委托给了具有 `editable` 类名的单元格。当用户编辑完单元格后,触发了 `blur` 事件,由于该单元格具有 `editable` 类名,因此事件会被委托到 `document` 对象上处理。在事件处理函数中,我们首先获取当前行的第一列和第二列的值,然后计算两列的和,并将计算结果放入第三列中。注意,我们使用了 `parseFloat()` 方法将文本转换为数字。
相关问题
jQuery 行编辑列绑定事件
在 jQuery 中,可以使用事件委托的方式为表格的行编辑列绑定事件。代码如下:
```javascript
$(document).on("click", "td.editable", function() {
// 获取当前单元格的文本内容
var text = $(this).text();
// 将单元格的文本内容替换为一个文本框
$(this).html('<input type="text" value="' + text + '">');
// 给文本框绑定事件,阻止事件冒泡
$(this).find("input").on("click", function(e) {
e.stopPropagation();
});
});
// 点击文档其他位置时,将文本框的值保存到单元格中
$(document).on("click", function() {
$("td.editable input").each(function() {
var text = $(this).val();
$(this).parent().text(text);
});
});
```
上述代码中,我们使用了 jQuery 的事件委托机制,将 `click` 事件委托给了 `document` 对象。当用户点击表格中的单元格时,触发了 `click` 事件,由于该单元格具有 `editable` 类名,因此事件会被委托到 `document` 对象上处理。在事件处理函数中,我们首先获取当前单元格的文本内容,将其替换为一个文本框,并给文本框绑定了 `click` 事件,阻止事件冒泡。这样用户就可以在文本框中编辑单元格的内容了。当用户点击文档其他位置时,触发了 `click` 事件,我们遍历所有的文本框,将其值保存到对应的单元格中。
jquery table选择某一行的某一列
在jQuery中,要选择表格的某一行的某一列,可以使用以下代码:
```javascript
// 假设表格的id为myTable
$(document).ready(function(){
// 鼠标点击表格的任意单元格时触发
$("#myTable").on("click", "td", function(){
// 获取被点击单元格所在的行和列的索引
var rowIndex = $(this).closest("tr").index();
var colIndex = $(this).index();
// 打印出被点击单元格所在的行和列的索引
console.log("被点击单元格所在的行:" + rowIndex);
console.log("被点击单元格所在的列:" + colIndex);
// 选中被点击单元格所在的行的所有单元格
var selectedRow = $("#myTable tr:eq(" + rowIndex + ") td");
// 选中被点击单元格所在的列的所有单元格
var selectedCol = $("#myTable td:nth-child(" + (colIndex + 1) + ")");
// 为被选中的行和列添加样式
selectedRow.addClass("selected");
selectedCol.addClass("selected");
});
});
```
以上代码会在页面加载完毕后,为表格的所有单元格绑定点击事件。当点击任意单元格时,会将被点击单元格所在的行和列的索引打印出来,并将被点击单元格所在的整行和整列选中,并为它们添加一个名为"selected"的样式。
你可以根据实际情况修改代码,比如改变表格的id,修改选中行列后的样式等。希望能对你有所帮助!