所以,几天前,我发布了这个问题(几乎相同),并收到了非常有用的回复。
但是,为了制作表格计算器,我已经将某个列的每个表格行设置为将表格转换为计算器,当我尝试为自己应用它时,这有点弄乱了原始问题的答案(JavaScript将单位“kg”与数字一起解析,并将总和显示为“NaN”)。id
同样,每个单元格内部都显示了一个可见的文本框,上面有答案,看起来有点丑陋。我目前的代码有不显示为文本框但仍然可编辑的单元格,这在我看来使体验更加时尚(我知道它没有功能差异,但外观让我很烦恼!
下面是我希望代码看起来像什么的模型。我试图使数字/输入显示在文本框的右侧,但仍然在单位的左侧(“kg”)。
以下是我试图创建的内容的模型(除了数字在右边)。
这是我的代码:
<head>
<style>
table {
border: 1px solid black;
border-collapse: collapse;
font-family: Arial, sans-serif;
margin: 5px;
width: 100%;
}
th, td {
border: 1px solid black;
border-collapse: collapse;
font-family: Arial, sans-serif;
margin: 5px;
padding: 5px;
}
</style>
</head>
<body>
<table>
<tr>
<th>header1</th>
<th>header2</th>
</tr>
<tr>
<td>entry1</td>
<td id="entry1" oninput="myFunction()">4000</td>
</tr>
<tr>
<td>entry2</td>
<td id="entry2" oninput="myFunction()">200</td>
</tr>
<tr>
<td>Total</td>
<td id="total"></td>
</tr>
</table>
<script type="text/javascript">
document.getElementById("entry1").contentEditable = true;
document.getElementById("entry2").contentEditable = true;
function myFunction() {
var entry1 = document.getElementById("entry1").innerText;
var entry2 = document.getElementById("entry2").innerText;
var total2 = parseInt(entry1) + parseInt(entry2);
document.getElementById("total").innerHTML = total2;
}
myFunction();
</script>
</body>
展开代码段
如您所见,它将右列中的数字相加,并在最后一行中显示总和。但是,我希望在侧面显示单位(例如“kg”),这些单位不可编辑,更重要的是,在JavaScript函数中不会被解析为数字。如果丑陋的文本框轮廓也没有出现在单元格内,那就太好了。
这可能吗?任何答案都值得赞赏!
猛跑小猪
素胚勾勒不出你
相关分类