1
我發現,滿足需求爲我的項目從這裏一些精彩代碼:如何更改此Javascript代碼中的表格元素?
http://www.askthecssguy.com/examples/rowlock/example9.html
我已經修改了代碼,這樣,當用戶選擇一個項目,然後點擊一個按鈕的數據進行處理(例如從服務器上的數據庫中刪除數據)
我一直無法弄清楚如何禁用再次發生的操作。我試過禁用單選按鈕。代碼以某種方式重新激活單選按鈕。我已將單選按鈕設置爲空。這也是行不通的。
我最後的想法是改變第二列中的文本(第一個是單選按鈕)作爲測試的手段,如果代碼已被刪除,但我根本無法弄清楚如何訪問該列和修改文字。
這是從上面的鏈接的原代碼:
function lockRow() {
var tables = document.getElementsByTagName("table");
for (var m=0; m<tables.length; m++) {
if (tables[m].className == "pickme") {
var tbodies = tables[m].getElementsByTagName("tbody");
for (var j=0; j<tbodies.length; j++) {
var rows = tbodies[j].getElementsByTagName("tr");
for (var i=0; i<rows.length; i++) {
rows[i].oldClassName = rows[i].className;
rows[i].onclick = function() {
if (this.className.indexOf("selected") != -1) {
this.className = this.oldClassName;
} else {
removeSelectedStateFromOtherRows();
addClass(this,"selected");
}
selectRowRadio(this);
}
}
}
}
}
對此我砍死下來:
function testloop()
{
var tables = document.getElementsByTagName("table");
for (var m=0; m<tables.length; m++) {
var tbodies = tables[m].getElementsByTagName("tbody");
for (var j=0; j<tbodies.length; j++) {
var rows = tbodies[j].getElementsByTagName("td");
for (var i=0; i<rows.length; i++) {
r = rows[ i ] ;
// r is the radio button.
//How do I access the text in the 2nd column?
}
}
}
}
如果以 '國內' 被選擇的行,我'想要將'國內'更改爲'已刪除'。我可以在其他代碼中檢測並處理該操作。
這是否有意義?有什麼更聰明或更簡單的方法來完成我想要完成的任務?我的JavaScript能力非常缺乏。謝謝。
<tr>
<td>
<input
type="radio"
name="choice"
value="walalala" />
</td>
<td>Domestic</td>
<td>Titanic</td>
<td>$600,788,188</td>
我不知道如何刪除該行。這當然是最終的解決方案。我會怎麼做呢? 該按鈕與我搶過的代碼完全無關,因此我不知道將按鈕綁回到循環的人。 我根本不瞭解jQuery。我只是回到Javascript。 即使我的文本列的最初解決方案不是最好的,我將如何去獲得它在我已經顯示的循環內獲得它?我很好奇。 對不起,因爲相當無知,但每個人都從一樓開始。謝謝。 – Jarek 2010-11-13 05:12:39
JavaScript有一個parent.removeElement(element)函數,所以在你的循環中你可以得到var rows = tbodies [j]。的getElementsByTagName( 「TR」); tbodies [j]的.removeElement(行[X]);其中x是要刪除的行的索引。如果你不瞭解jQuery,你應該選擇它。使用$('input:checked')。parent()。parent()。remove()會讓你的生活更輕鬆。 Dojo或Prototype或許多其他JS庫中的其中一個也可以工作。 – 2010-11-13 10:19:19
我使用Firefox的Firebug來瀏覽Javascript代碼。 當我加入你建議的代碼,螢火蟲扔此錯誤: 「tbodies [j]的.removeElement不是一個函數」 爲這行代碼: \t \t \t tbodies [j]的.removeElement(行[X ]); 我在做什麼錯? – Jarek 2010-11-13 13:42:06