首先,我是jquery的新手。
我必须只选择一个单元格#tableAppointment tbody tr td:nth-child(2)
和文本框值应该转到选择开始的下一个单元格。
我在我的小提琴中制作了功能,但文本框值转到了所有单元格。我必须将文本框值设置为第一个单元格,其他单元格设置为rowspan(意味着用户看到所有单元格选择只有一个文本框值)。为了在下一个单元格中获取值,我已经采用了html的span标记,但我不想要span标记。
//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');
});
答案 0 :(得分: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);
});