2013-04-29 55 views
0

我正在嘗試在我的網頁中實現和撤消功能。這是一個充滿可編輯的texboxes表,所以想出一個id很難。我決定根據表信息製作一個id名稱。以下是一個ID例如:jquery通過使用字符串更改文本框的值

HW3=:25626=:10000 

HW3是標頭,25626是該行的ID列和10000引用此表。對於撤消功能我用

$(this).attr('id); 

得到id和這個函式是基於事件的焦點時調用,或單擊這就是爲什麼「這」工作。我拿的電流值,並將其添加到最終像

$(this).attr('id)+":="+old_value; 

監守的ID名稱被分隔這樣做是「=:」這樣我就可以做兩個裂口得到這個數據回的部分。可能不是最好的,我明白。

我遇到的問題是,當我試圖拔出ID,並把它放回作爲一個元素出現錯誤:

Uncaught Error: Syntax error, unrecognized expression: #HW3=:25626=:10000 

我試圖做的事:

var s = "#"+temp[0]; 
    var element = $(s); 

temp [0] = = HW3 =:25626 =:10000。這是拋出此錯誤的第二行。

重要!具有我正在使用的ID的表不是在開始時創建的。 JQuery調用一個在頁面加載後構建它的方法。直到創建表之後,才能訪問此方法。我知道你不能將事件綁定到元素,直到他們加載後,但我不確定是否是相同的情況,因爲我永遠不會嘗試撤消不存在的文本框。畢竟它必須存在才能被插入到撤銷對象中。

任何幫助表示讚賞。

回答

1

您的ID不會在選擇器中工作。你必須這樣做,而不是:

$(document.getElementById(temp[0])) 
+0

你怎麼想到的?如果'document.getElementById(temp [0])'會起作用,那麼'$(「#」+ temp [0])'也應該,不是嗎? – mplungjan 2013-04-29 05:26:18

+0

@mplungjan:如果屬性包含會破壞選擇器的字符,則不會。 'foo.bar'是一個有效的ID,但它會使選擇器工作不正確。 – Blender 2013-04-29 05:27:46

+0

什麼字符對選擇器無效,因爲這不起作用。但我也發現,即使手工輸入ID也不起作用,所以我想即時通過使用無效字符或其他東西。 – Brandon 2013-04-29 15:36:33

相關問題