2013-02-13 68 views
0

好了,我要建道場使用的1.8應用程序,我有一個類似的模板的自定義窗口小部件...如何在dijit /表單小部件上使用html標籤?

<div> 
    <label for="tag">Select something: </label> 
    <select id="tag" 
     data-dojo-attach-point="tag" 
     data-dojo-type="dijit/form/Select"> 
    <option value="0">option 0</option> 
    <option value="1">option 1</option> 
    </select> 
</div> 

然而,當模板獲取呈現,小部件定義了一個新的ID,這使得標籤無用。我嘗試過使用google搜索,但是我的所有搜索都直接指向了Dojo文檔,因爲它們具有稱爲標籤的屬性,但與HTML標籤標記無關。

這是什麼原因?

回答

1

在你所描述的情況,你可以簡單地將標籤貼在你的<選擇>,並與配置用於/ ID屬性。見#2問題:

另外,如果你想在widget模板中實際使用的ID,請參閱:

直接使用ID(即,對它們進行硬編碼,而不是像在ab中那樣對它們進行即時分配Ove鏈接)不鼓勵。其原因是模板意在反覆用於創建窗口小部件。

理論上,它可以用來在一個頁面上創建多個小部件。因此,在這種情況下,你會有一個身份衝突。每個HTML頁面上的每個HTML標識都必須是唯一的。

+0

感謝您的聯繫。我喜歡用標籤包裝表單元素來清理代碼,並顯示了這兩個元素之間的強大關係。另外,你對模板問題中的'id'完全正確。對我的判斷暫時失誤。儘管如此,我的問題仍然存在。我相信這是Dojo替換Select的基於表格的小部件的結果,它模擬Select的行爲。渲染後,標籤指向一個表格與一個選擇元素。看來應該在小部件的某個地方配置標籤行爲。 – hypno7oad 2013-02-14 18:16:39

+0

做了一點挖掘,我發現從dijit/form/TextBox(ComboBox,FilteringSelect等)繼承的窗體小部件的行爲與預期的一樣,因爲TextBox利用了標記。而dijit/form/Select不會利用