我正在使用一些免费赠送脚本来突出显示表格单元格。它可以点击多次,所以我可以一次选择多个单元格。当我点击单元格时,我想要检索它们的值并显示在下面的输入中,这样我就可以在完成高亮显示时发布它。我的脚本如下所示:
function displayVals(item) {
var multipleValues = $(this).html() || [];
$("p.info").html("<b>Multiple:</b> " + multipleValues.join(", "));
alert($(item).html());
$("#clicked").val(multipleValues.join(", "));
}
$(document).ready(
function(){
$('#table3').highlight('td');
$('#table3').highlight('td', 'highlight-selected', 'mousedown');
$('#table3 td').click(function() {
displayVals(this);
});
}
);
在displayVals
函数中的这个示例中,我使用alert
来显示我现在选择的单元格。它显示没有问题,但在名为clicked
的输入中没有任何粘贴,p.info
中没有任何内容。
如果有人能帮助我,我将不胜感激。
答案 0 :(得分:0)
在点击事件this
内仅指向点击的元素而不是所有tds。
$('#table3 td').click(function() {
displayVals(this);
});
.html()
会返回一个字符串,因此您不需要加入,而是使用this
代替item
:
function displayVals(item) {
var multipleValues = $(item).html() || '';
$("p.info").html("<b>Multiple:</b> " + multipleValues);
alert($(item).html());
$("#clicked").val(multipleValues);
}
列出所有多个值
function displayVals(item) {
var multipleValues = [];
$(item)
// Search the parrent table
.closest('table')
// Get any highlight selected td
.find('td.highlight-selected')
// Iterate and add the html to multipleValues
.each(function(){ multipleValues.push($(this).html()) })
$("p.info").html("<b>Multiple:</b> " + multipleValues.join(", "));
alert(multipleValues.join(", "));
$("#clicked").val(multipleValues.join(", "));
}