2013-08-05 53 views
1

我有一個包含接觸類型的人(電話號碼,電子郵件,實際地址等)列表的視圖模型knockoutjs。模式的唯一標識的ForEach約束元素KnockoutJS

每種不同的接觸型具有其結合不同Template。 (例如,電話號碼字段看起來與物理地址字段不同)。

這工作正常。

現在我需要能夠給每一個模板元素的唯一的ID,所以我可以引用他們的標記和JavaScript。例如,每個接觸式有一個字段叫地址類型,其中用戶可以把喜歡的東西家庭地址,工作電子郵件,等等...這是爲每個聯繫人類型相同的字段。 HTML標記看起來是這樣的:

<label for='AddressType'> 
    Type 
    <input type='text' id='AddressType' data-bind='value: AddressType' placeholder='Home, Work, etc...' /> 
</label> 

現在這變得撲朔迷離。當屏幕上有四種不同的聯繫人類型時,Label標籤最後引用ID爲「AddressType」的第一個元素。當我在屏幕上有兩個電話號碼字段時,PhoneNumber字段的標籤的行爲方式相同。

如何在Knockout模板中爲每個模板化表單域賦予唯一的ID名稱?

如果這是不明確,發表評論,我將創建一個的jsfiddle這表明了問題。

回答

2

放下你的標籤for屬性。它是可選的,如果未提供,該標籤將應用於子元素input

除此之外,看到這個問題:Unique ids in knockout.js templates

+0

啊,很好的問題!感謝您的鏈接。我的搜索能力顯然不符合找到這個問題的任務。 –