在jQuery中获取所选单元格的值

问题描述

| 单击时,我正在使用一些免费赠品脚本来突出显示表格单元格。可以多次单击它,因此我可以一次选择许多单元格。当我单击单元格时,我要检索它们的值并显示在下面的输入中,以便在突出显示时可以将其过帐。我的脚本如下所示:
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
显示我现在选择的单元格。它的显示没有问题,但是没有任何内容粘贴到名为“ 3”的输入中,也没有任何内容出现在“ 4”中。 如果有人可以帮助我,我将不胜感激。     

解决方法

在click事件中,“ 5”仅指向被单击的元素,而不指向所有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(\",\"));

}