2011-03-28 124 views
0

我有一個頁面(最多1000個),設置在下拉菜單的負載如下:更新基於他人的選擇值下拉的選擇價值

< select name="select< ?php print($select); ?>" id="select< ?php print($select); ?>">

因此每得到一個名字和id selectX其中X是一個數字1和1000

之間的每個具有值
-

在頁面加載時,每個被設置爲 -

每次有人選擇一個值(除 - )我需要確保它沒有被之前選擇。如果有,需要所有其它的下拉列表中與該值被重新設置爲 -

SO例如
下拉1被設定爲 -
下拉2設定爲 -
下拉3被設定爲 -
下拉列表4設置爲 -

用戶將下拉列表2中的選定值設置爲'4'。

這意味着我們現在具有值:
下拉1被設定爲 -
下拉2被設置爲4
下拉3被設定爲 -
下拉4被設定爲 -

的用戶然後將下拉3的值設置爲'5'。 5沒有設置在其他地方,所以這個工程。

這意味着我們現在具有值:
下拉1被設定爲 -
下拉2被設置爲4
下拉3被設定爲5
下拉4被設定爲 -

的然後用戶將下拉1的值設置爲'4'。圖4是已經在通過下拉2使用,所以下拉2被設置回 -

這意味着我們現在具有值:
下拉1被設置爲4
下拉2設定爲 -
下拉3是設置爲5
下拉菜單4設置爲 -

我希望這有意義嗎?下拉菜單的數量和名稱將取決於各種用戶設置,因此它可能在10 - 1000之間。

任何人都可以幫忙嗎?

回答

0

將您的興趣命名爲「select_name []」,這將使得在服務器端處理PHP更容易,並且也在客戶端進行驗證。數組是你的朋友。

你可以通過他們的名字選擇下拉列表(如果你做了第一件事,並給了它們所有相同的名字),或者,你可以給他們一個單一的班名,並按班級抓住他們。在這個下拉數組中的每個元素的更改事件中,檢查/誰的值與剛剛選擇的值發生衝突(通過您在上面抓取的下拉列表中循環),並重置那些發生衝突的值。這裏的關鍵是數組,數組,數組。

爲什麼你有1000個下拉菜單?
您是否故意濫用您的用戶羣?