根据所选的其他值更新下拉列表的选定值

时间:2011-03-28 11:55:02

标签: javascript html

我在页面上有一大堆下拉菜单(最多1000个),设置如下:

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

所以每个人都得到一个名字和id selectX,其中X是1到1000之间的数字。

每个都有值
-
1
2
3
4
5个

页面加载时,每个都设置为 -

每次有人选择一个值(除了 - )我需要确保之前没有选择它。如果有,则需要将具有该值的所有其他下拉列表设置回 -

例如,如此 下拉列表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之间。

任何人都可以提供帮助吗?

1 个答案:

答案 0 :(得分:0)

可能有兴趣将它们命名为“select_name []”,这将使服务器端的PHP 更多更容易处理,并在客户端验证。数组是你的朋友。

你可以按名字选择下拉列表(如果你做了第一件事,并给了他们所有相同的名字),或者,你可以给他们一个类名并按类抓取它们。在这个下拉列表中每个元素的更改事件中,检查/ who是否有与刚刚选择的值冲突的值(遍历上面抓到的下拉数组),并重置那些具有冲突值的人。

这里的关键点是数组,数组,数组。

为什么你有1000个下拉菜单? 您是否故意滥用您的用户群?