如何将选定的单元格数量拖动到colspan值

时间:2014-08-26 12:08:23

标签: javascript jquery html css

我在这里有动态动态表。我试图将选定的细胞计数作为colspan值拖动到选定的表格单元格(合并).my fiddle http://jsfiddle.net/kannankds/q35vm6qv/6/

$(document).mouseup(function () {
isMouseDown = false;
mylength = $("td.highlighted").length;
//alert(mylength);
});    
$("#mergeme").live('click', function () {
$("td.highlighted").attr("colspan"+ mylength);
alert("colspan" + mylength);
});

2 个答案:

答案 0 :(得分:2)

你可以改变这个:

$("#mergeme").live('click', function () {
$("td.highlighted").attr("colspan"+ mylength);
alert("colspan" + mylength);
});

为此:

    $("#mergeme").click(function () {
        var mylength = $(".highlighted").length;

        // Add the colspan of already merged columns
        $(".highlighted").each(function(index,el){
            if($(el).attr("colspan")>1)
                mylength += $(this).attr("colspan") - 1;
        });

        // Get text from highlighted cells
        var alltext = $(".highlighted").text();

        // Hide non-first highlighted cells
        $("td.highlighted:not(:first)")
            .hide()
            .toggleClass("highlighted");

        // Set text to first highlighted cell, unhighlight, and set colspan
        $("td.highlighted:first").attr("colspan", mylength)
            .text(alltext)
            .toggleClass("highlighted");
      });

演示小提琴:http://jsfiddle.net/lparcerisa/9ep1gsr8/1/

注意:您应该将您的选择限制在同一行的单元格中,否则合并将变得一团糟。

答案 1 :(得分:0)

应该是,

$(document).mouseup(function () {
isMouseDown = false;
mylength = $("td.highlighted").length;
//alert(mylength);
});    
$("body").on('click','#mergeme', function () {
$("td.highlighted").attr("colspan", mylength);
alert("colspan" + mylength);
});