![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
jquery操作多个select?
有四个select框,初始状态select中的<option>相同.最后要求每个select框的值都不相同(仅是这样当然很容易办到),但我要对其做这样的控制,当前sele...
有四个select框,初始状态select中的<option>相同.
最后要求每个select框的值都不相同(仅是这样当然很容易办到),但我要对其做这样的控制,当前select框中已选中的值,在其他三个的<option>中不能出现(这样以避免select选择了相同的值) 展开
最后要求每个select框的值都不相同(仅是这样当然很容易办到),但我要对其做这样的控制,当前select框中已选中的值,在其他三个的<option>中不能出现(这样以避免select选择了相同的值) 展开
3个回答
展开全部
假如当前select的Id为:select1,另外一个select的Id为:select2.就举两个,你就明白了。
当前的select被选中时:
$("#select1").change(function() {
$("#select2 option").each(function(){
if($(this).val() == $("#select1").val()) {
$(this).remove();
}
});
});
如果有100个的话,你可以在第一个function中添加一个变量,然后用这一个方法就可以处理了!呵呵,祝你好运!
当前的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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
YES IT'S EASY
有疑问的话 我们来探讨下
有疑问的话 我们来探讨下
追问
$(this).remove()肯定是不行的,因为我将已选择的框再换一个选项时,其他框除了要隐藏当前选项时,先前选择的那个被当前的替换了,所有先前选择的那个要在其他框中要显示出来
追答
$(this)肯定不行 因为都没有明确指定他是哪个 那this就代表所有的select2下的option 继续用
$("#select2 option").eq(i).remove(); 这样就可以移除当前的项
但是我感觉你的需求不是这样的 你说只需要每个select的option不同即可,也没说相同的就移除是吧
如果需要源码 我就帮你写一个
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询