2013-04-10 112 views
2

背景:我正在嘗試使用javascript函數填充文本區域,我有一個動態表(因爲我不知道它的大小/元素,直到運行時)。要做到這一點,我計劃將文本區域的id與我想要的值一起傳遞到javascript函數中。如何在Django模板中爲標籤創建動態標識

問題是我無法爲每個文本輸入字段創建一個動態id值。這就是我目前如何嘗試做到這一點:

{% with "input_"|add:applicant.id as idName %} 
     <input id="{{ idName }}" type="text" value=""> 
     <input type="button" hidden="TRUE" onclick=""> 
     {{ idName }} 
     <script> 
      putTags({{ idName }}, {{ tags }}); 
     </script> 
    {% endwith %} 

其中函數putTags()將填充到文本輸入的內容。不幸的是,這不起作用,因爲它將每個人的ID分配給「input_」而沒有追加applicant.id的值(並且我已經檢查過,applicant.id對於每次迭代都有一個正確的ID)。難道我做錯了什麼?有沒有更簡單的方法來創建這些唯一的ID?

回答

2

你可以嘗試這樣的事情

<input id="input_{{ applicant.id }}" type="text" value=""> 
<input type="button" onclick="putTags('input_{{ applicant.id }}', {{ tags }});"> 
+0

這是第一種方式我想(儘管我想最初填充值,單擊按鈕不能當,所以我只需要調用函數平出)。由於某些原因,它不能正確追加applicant.id。它只是使所有文本框的id爲「input_」。 – James 2013-04-10 17:53:50

+0

那麼爲什麼你不只是''input ... value =「{{tags}}」>'?它聽起來不像是需要不必要的javascript ... – Ngenator 2013-04-10 17:55:10

+0

我使用函數來格式化標籤。如果我只是做了value =「{{tags}}」,它看起來像這樣:「[,]」我希望它只是說「Apple,Orange」 – James 2013-04-10 17:58:33