1

见小提琴

首先,我是 jquery 的新手。

我必须只选择一个单元格#tableAppointment tbody tr td:nth-child(2) ,文本框值应该转到选择开始的下一个单元格。

我在我的小提琴中制作了功能,但文本框值转到所有单元格。我必须将文本框值设置为第一个单元格,其他单元格为行跨度(意味着用户只能看到所有单元格选择的一个文本框值)。为了在下一个单元格中获取值,我采用了 html 的跨度标签,但我不想要跨度标签。

//ONE cell selection code
var active = false;

            $('#tableAppointment tbody tr td:nth-child(2)').mousedown(function (ev)
            {
                active = true;
                $(".csstdhighlight").removeClass("csstdhighlight"); // clear previous selection
                ev.preventDefault(); // this prevents text selection from happening
                $(this).addClass("csstdhighlight");
                $(this).addClass("temp_selected");
            });

            $('#tableAppointment tbody tr td:nth-child(2)').mousemove(function (ev)
            {
                if (active)
                {
                    $(this).addClass("csstdhighlight");
                    $(this).addClass("temp_selected");
                }
                if ($('.temp_selected').length == 3)
                {
                    return false;
                }
                if ($('.temp_selected').length > 3)
                {
                    alert("Time slot not more than 30 minutes.");
                    $(this).removeClass("csstdhighlight");
                    $(this).removeClass("temp_selected");
                    return false;
                }
            });

            $(document).mouseup(function (ev)
            {
                active = false;
                $('.temp_selected').removeClass('.temp_selected');

            });
4

1 回答 1

2

我想你正在寻找这样的东西:

jQuery('#update').click(function() {
    var cells=$('#tableAppointment tbody tr td:nth-child(3)');
    var i=0;
    var topcell=false;
    cells.each(function() {
        var $cell = $(this);

        if ($cell.hasClass('csstdhighlight')) {
            if(i==0){
                $cell.find('span').text(jQuery('#patientNames').val());
                topcell=$cell;
            }else{
               $cell.remove();
            }
            i++;
        }
    });
    if(topcell) topcell.attr('rowspan',i);
});​
于 2012-06-12T07:05:59.640 回答