jquery操作多个select?

有四个select框,初始状态select中的<option>相同.最后要求每个select框的值都不相同(仅是这样当然很容易办到),但我要对其做这样的控制,当前sele... 有四个select框,初始状态select中的<option>相同.
最后要求每个select框的值都不相同(仅是这样当然很容易办到),但我要对其做这样的控制,当前select框中已选中的值,在其他三个的<option>中不能出现(这样以避免select选择了相同的值)
展开
 我来答
kairi1227
2013-01-04 · 超过29用户采纳过TA的回答
知道答主
回答量:85
采纳率:0%
帮助的人:67.4万
展开全部
假如当前select的Id为:select1,另外一个select的Id为:select2.就举两个,你就明白了。
当前的select被选中时:
$("#select1").change(function() {
$("#select2 option").each(function(){
if($(this).val() == $("#select1").val()) {

$(this).remove();

}
});

});

如果有100个的话,你可以在第一个function中添加一个变量,然后用这一个方法就可以处理了!呵呵,祝你好运!
追问
$(this).remove()肯定是不行的,因为我将已选择的框再换一个选项时,其他框除了要隐藏当前选项时,先前选择的那个被当前的替换了,所有先前选择的那个要在其他框中要显示出来
如果用显示与隐藏的话

上面的跟你一样
//获取当前值,重新选择值时要将此值显示
var preField = 0;
//onMouseDown时获取先前选择的值
function get_pre()
{
preField = $(event.target).val();
}
这样会存在bug
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiwei22844
2013-01-15
知道答主
回答量:9
采纳率:0%
帮助的人:1.4万
展开全部
好复杂啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rot_pretense
2013-01-02 · TA获得超过254个赞
知道小有建树答主
回答量:456
采纳率:0%
帮助的人:241万
展开全部
YES IT'S EASY
有疑问的话 我们来探讨下
追问
$(this).remove()肯定是不行的,因为我将已选择的框再换一个选项时,其他框除了要隐藏当前选项时,先前选择的那个被当前的替换了,所有先前选择的那个要在其他框中要显示出来
追答
$(this)肯定不行  因为都没有明确指定他是哪个  那this就代表所有的select2下的option  继续用
$("#select2 option").eq(i).remove(); 这样就可以移除当前的项
但是我感觉你的需求不是这样的 你说只需要每个select的option不同即可,也没说相同的就移除是吧
如果需要源码 我就帮你写一个
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式