0
我得到了這個表格內置的計算器功能,從table
的不同部分中選擇,並在最後添加了所有東西。但我的問題是,如果我用裏面的字母而不是數字打了一個正方形,計算器就會中斷,我該如何解決它?內置計算器的HTML/Javascript表格
如何使第一個包含信息(汽車名稱)不可點擊,並且只有前5個方格。 表代碼:
<table>
<tr>
<th bgcolor="b8cce4">Modell</td>
<th>Trend</td>
<th>Titanum</td>
<th>Familiepakke</td>
<th>Førerassistentpakke</td>
<th>Stilpakke</td>
<th>Sluttpris</td>
</tr>
<tr>
<td bgcolor="b8cce4"><b>Kuga</b></td>
<td>401000</td>
<td>420000</td>
<td>1000</td>
<td>10200</td>
<td>9200</td>
<td>kr</td>
</tr>
<tr>
<td bgcolor="b8cce4"><b>C-max</b></td>
<td>320000</td>
<td>335000</td>
<td>1000</td>
<td>9400</td>
<td>3600</td>
<td>kr</td>
</tr>
<tr>
<td bgcolor="b8cce4"><b>Focus</b></td>
<td>255000</td>
<td>325000</td>
<td>900</td>
<td>12500</td>
<td>9000</td>
<td>kr</td>
</tr>
<tr>
<td bgcolor="b8cce4"><b>Mondeo</b></td>
<td>281000</td>
<td>361000</td>
<td>1100</td>
<td>9900</td>
<td>7200</td>
<td>kr</td>
</tr>
腳本:
(function() {
var tds = document.querySelectorAll('tr td:not(:last-child)');
for (var td in tds) {
tds[td].addEventListener('click', function(evt) {
evt.target.classList.toggle('selected');
var total = 0;
var parentTr = evt.target.parentNode;
var selected = parentTr.querySelectorAll('.selected');
for (var k in selected) {
if (selected[k].innerText) {
total += parseInt(selected[k].innerText);
}
}
parentTr.querySelector('td:last-child').innerText = total;
});
}
})();
感謝那些固定關於該框中的文本的問題,但似乎如果我點擊文本的某個地方,它會給我NaN。如何讓整個框無法識別? –
您可以在上面的'if'語句中使用[isNaN()](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/isNaN)函數,或者設置一個類'clickable '在數字單元格上並使用jQuery的'hasClass()'(https://learn.jquery.com/using-jquery-core/faq/how-do-i-test-whether-an-element-has-a-特定類/)來確保你只在具有這個'clickable'標誌類的單元上執行'parseInt()'。有一個[SO問題](https://stackoverflow.com/questions/18082/validate-decimal-numbers-in-javascript-isnumeric)關於如何安全地確定一個字符串是否是數字。 –
順便說一下,在你的桌面上,請關閉正確的標籤,每當你寫上'
相關問題