Javascript - 多个SELECT框,删除'SELECTED'选项 [英] Javascript - Multiple SELECT boxes, remove 'SELECTED' options
问题描述
我们希望按顺序排列人员,但不希望允许多次选择相同的选项:
人员编号1
< select name =person1>
< option value =null>请选择一个选项< / option>
< option value =1> 1< / option>
< option value =2> 2< / option>
< option value =3> 3< / option>
< / select>
人员编号2
< select name =person2>
< option value =null>请选择一个选项< / option>
< option value =1> 1< / option>
< option value =2> 2< / option>
< option value =3> 3< / option>
< / select>
人员编号3
< select name =person3>
< option value =null>请选择一个选项< / option>
< option value =1> 1< / option>
< option value =2> 2< / option>
< option value =3> 3< / option>
< / select>
所以在这里,如果有人在第一人称框中选择了选项1,所有选项框都将被重新填充删除(或禁用)该选项。
显然,第一个选项 - null请选择选项必须被忽略。
我还需要某种'重置'功能?
不知道从哪里开始,有什么想法?
谢谢!
如果我理解正确,您有N个人想要排名1到N(没有人排除在排名之外)。
如果JavaScript组件对于您的上下文是可接受的选项,那么我建议您使用可分类组件:
与具有多个select元素相比,它可以提供更好的用户体验。
修改:好的,我从评论中看到你真的想用Nselect。按照Flea777的建议,您应该查看JQuery的.change()事件,并在已经选择的选项条目上设置禁用属性:
http://www.w3schools.com/tags/att_option_disabled.asp
We're wanting to rank people in order, but don't want to allow the same option to be selected more than once:
Person Number 1
<select name="person1">
<option value="null">Please Select an option</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
Person Number 2
<select name="person2">
<option value="null">Please Select an option</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
Person Number 3
<select name="person3">
<option value="null">Please Select an option</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
So here, if someone chooses option 1 in the first person box, all the option boxes would be repopulated with that option removed (or disabled).
Obviously the first option - null 'Please Select an Option' must be ignored.
I would also need some kind of 'reset' functionality?
No idea where to start with this, any ideas?
thanks!
If I understand correctly, you have N persons that you want to rank from 1 to N (there's nobody left out of the ranking).
If JavaScript components are an acceptable option for your context, then I would suggest you use the «Sortable» component :
It could give a better user experience than having multiple "select" elements.
EDIT : Ok I see from the comments that you really want to use N "select". As suggested by Flea777 you should look at the .change() event of JQuery, and set the "disabled" attribute on the "option" entries which have already been selected : http://www.w3schools.com/tags/att_option_disabled.asp
这篇关于Javascript - 多个SELECT框,删除'SELECTED'选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!