2013-07-10 97 views
0

在我的模板我有一個國家選擇框,並動態改變基於國家元素。例如,如果我選擇美國,省將成爲包含美國國家的選擇框。如果我選擇其他國家,省將只是一個文本字段。我知道我必須通過Javascript來做到這一點,但我想知道在這種情況下的最佳做法。任何建議?格式轉換的最佳實踐

+1

您可以使用JavaScript來顯示或者與省選擇框或文本輸入字段。如果您想根據所選國家/地區選擇不同的省份列表,則可以使用AJAX並在國家/地區發生變化時加載適當的省份列表。 –

回答

1

這個問題幾乎每天都發生在計算器...如何處理子選擇的喜歡國家 - >狀態...?對於多個相關選擇字段類型

最好的做法是隻加載用專用的添加子查詢提交按鈕第一選擇框從數據庫 - 可能是「顯示狀態」,或在你的情況類似。

呈現形式首次時,不要取所有可能子選擇。這很容易導致沉重的數據庫查詢如果你表現出類似的國家 - >狀態 - >市爲例...但國家 - >狀態對所有國家已經太多了。

如果使用「顯示狀態」按鈕提交表單,則將相關的子選擇與「顯示城市」按鈕一起添加到表單中,或者如果沒有其他子選擇將被加載......與最終的「保存「按鈕。

這樣,沒有JavaScript的用戶就可以使用雙精選而不需要首先涉及到不必要的子查詢。用JS隱藏第二個選擇是而不是最佳實踐。然後

漸進增強通過JavaScript將AJAX - 上下即一個國家的狀態的JSON列表,刪除「顯示狀態」按鈕,渲染使用JS模板引擎喜歡車把數據或小鬍子,並添加「保存」按鈕。

這樣,您不必向客戶端瀏覽器發送太多的重複數據(選項,選項,選項...)。

最後一步是緩存客戶端和服務器端以加快加載時間 - 甚至可能涉及某種背景預加載,即客戶端首選語言的前5個選項。

+0

不能更清楚。非常感謝你! –