1

フィドルを見る

まず、私はjqueryが初めてです。

セルを 1 つだけ選択する#tableAppointment tbody tr td:nth-child(2) 必要があり、テキストボックスの値は、選択が始まる次のセルに移動する必要があります。

フィドルで機能を作成しましたが、テキストボックスの値はすべてのセルに適用されます。テキストボックスの値を最初のセルに設定し、他のセルをrowspanに設定する必要があります(すべてのセル選択に対して1つのテキストボックス値のみが表示されることを意味します)。次のセルで値を取得するために、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 に答える