如何解决在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(\",\"));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。