用jQuery怎么实现两个select之间互相切换
发布网友
发布时间:2022-04-23 05:32
我来回答
共1个回答
热心网友
时间:2022-04-18 02:43
它只是交换了两个select的value值,并不是交换两个select 因为一个是出发地 一个是目的地 select的option是一样的;
jquery操作两个select实现值之间的互相传递进行了详细的介绍,举例:
代码如下: function moveToRight(select1,select2)//把选中的移动到右边 sleect1和sleect2分别是下拉列表框的ID { $('#'+select1+' option:selected').each(function(){ $("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>").appendTo("#"+select2+""); $(this).remove(); $('#'+select2).bind('dblclick',function(){ moveToLeft(select1,select2); }); }); } function moveAllToRight(select1,select2)//把所有的移动到右边 { $('#'+select1+' option').each(function(){ $("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>").appendTo("#"+select2+""); $(this).remove(); }); } function moveToLeft(select1,select2)//把选中的移动到左边 { $('#'+select2+' option:selected').each(function(){ $("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>").appendTo("#"+select1+""); $(this).remove(); }); } function moveAllToLeft(select1,select2)//把所有的移动到左边 { $('#'+select2+' option').each(function(){ $("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>").appendTo("#"+select1+""); $(this).remove(); }); } 如果要双击select中的某一个option就把当前值传到另一个select需要bind一个select 事件 如下即可 代码如下: $('#sel2').bind('dblclick',function(){//给下拉框绑定双击事件 moveToRight('sel2','sel3'); }); $('#sel3').bind('dblclick',function(){ moveToLeft('sel2','sel3'); });