2012-04-21 156 views
1

我有3個選擇選項用於組合爲隱藏字段「episode_airdate」創建一個值。問題是他們所在的<table tr>被克隆,因此ID也會得到克隆,這使得getElementById無用。我嘗試ByName和ByClass沒有運氣。每次克隆時給克隆元素一個唯一的數字ID名稱

<script> 
     function datepopulate(){ 
    var day = document.getElementById('airdate_day').value; 
    var month = document.getElementById('airdate_month').value; 
    var year = document.getElementById('airdate_year').value; 
    var completedate = day+'-'+month+'-'+year; 
    document.getElementById('episode_airdate').value = completedate; 
     alert(document.getElementById('episode_airdate').value); 
    return true; 
} 

</script> 

隨着生成的數字添加它會是這樣的airdate_year [1] + airdate_month [1] + airdate_day [1] = episode_airdate [1]?

如果jQuery有更好的方法來做到這一點我正在打開,這個想法

+1

document.getElementById('episode_airdate []')是做什麼的? 'episode_airdate []'不是有效的元素ID! – 2012-04-21 16:08:22

+0

'「episode_airdate []」'適用於'name's,但不適用於'id's。 – Halcyon 2012-04-21 16:10:30

+0

@gwynhowell我將「episode_airdate []」更改爲「episode_airdate」 – Craig 2012-04-21 16:13:58

回答

1

是不是真的有這方面的一個很好的解決方案。你不能克隆你的HTML頁面的整個部分 - id和全部 - 然後在插入後改變它。你應該在之前修復HTML ,然後插入克隆位。

看看你的克隆過程?也許不要把它變成一個通用的克隆,而應該是一個可以生成特定HTML的生成器,並且這個ID是基於動態數據的。