使用jquery迭代表单元格

前端之家收集整理的这篇文章主要介绍了使用jquery迭代表单元格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含可变数量列的表.我写了一个函数迭代每行中的每个单元格来执行以下操作:

>检查是否存在输入
>检索输入的值
>将饼图附加到条件#1计算结果为true的任何单元格

这是我的代码

function addPieCharts() {
var htmlPre = "<span class='inlinesparkline' values='";
var htmlPost = "'></span>"
var colors = ["red","blue"];

$("#MarketsTable tr").each(function () {

    $('td').each(function () {
        var value = $(this).find(":input").val();
        var values = 100 - value + ',' + value;

        if (value > 0) {
            $(this).append(htmlPre + values + htmlPost);
        }
     })

})

$('.inlinesparkline').sparkline('html',{ type: 'pie',sliceColors: colors });
}

步骤1-3基本上如所描述的那样工作.运行时,饼图会添加显示正确值的正确单元格中.我的问题是,我希望每个单元格只有一个饼图,其中存在输入.但是,我每个单元格有n个饼图,其中n等于表格中的列数.我怀疑我错误地使用jQuery的each()方法.谁能告诉我我做错了什么?

解决方法

当你选择td时将上下文传递给tr(this),这样它只会在当前的tr中查找td.试试这个.
$("#MarketsTable tr").each(function () {

    $('td',this).each(function () {
        var value = $(this).find(":input").val();
        var values = 100 - value + ',' + value;

        if (value > 0) {
            $(this).append(htmlPre + values + htmlPost);
        }
     })

})

猜你在找的jQuery相关文章