Javascript - 多个SELECT框,删除'SELECTED'选项 [英] Javascript - Multiple SELECT boxes, remove 'SELECTED' options

查看:117
本文介绍了Javascript - 多个SELECT框,删除'SELECTED'选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们希望按顺序排列人员,但不希望允许多次选择相同的选项:

 人员编号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组件对于您的上下文是可接受的选项,那么我建议您使用可分类组件:



http://jqueryui.com/sortable/



与具有多个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 :

http://jqueryui.com/sortable/

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆