2010-11-08 80 views
0
<td style="border:#999 solid thin; background-color:#000; color:#FFF;" id="tp">00.00</td> 

<td style="border:#999 solid thin; background-color:#000; color:#FFF;" id="tv">00.00</td> 

工作時,#tp值更改此值應在#TV.change不是在jQuery的

我的代碼

$('#tp').change(function() { 
    $('#tv').text($('#tp').text()); 
}); 

究竟是什麼不對這裏得到體現。

感謝 讓

回答

1

表的單元格不具有change事件。只有輸入元素纔有。

你可以

  • 嘗試手動觸發事件,當您更改單元格的內容$('#tp').change();不知道這是否可以跨瀏覽器,你就必須測試

  • 放在一個透明的,無法點擊input元素放入單元格中,並將更改事件放在該單元格上,然後將更改事件添加到該單元格中,並且不依賴change所有功能

+0

解決方法....? – X10nD 2010-11-08 09:50:18

+0

@Jean我更新了我的答案。 – 2010-11-08 09:51:02

+1

我無法更改代碼,因爲它超過了10K,所以我不得不再添加400行:D – X10nD 2010-11-08 10:34:37

0

這裏tp值的變化意味着如何以及何時?您的元素在更改其值後,是否將更改事件綁定到您的元素上? 也可以不是「更改事件發送到元素的值發生更改時,此事件僅限於元素,框和元素。」 Ref

0

,你可以在閱讀documentation

變化事件被髮送到一個元素 當它的價值變化。此事件限於 元素, 框和 元素。 [...]

所以,如果你真的不想這樣做,你必須定期看看價值,看看它是否有「手工」的變化。 (或者在一個時間間隔內簡單地呼叫$('#tv').text($('#tp').text()); - 但這會導致大量不必要的更新)。最好的方法是在更新第一個值的地方更新第二個值。