今天遇到一个比较郁闷的问题,两个select选择框用js来进行中间内容的左右移动操作,本来好用了,但是加上异步筛选数据以后,只要执行操作就会将搜索填充的那个select删除掉了,最后终于找到解决办法了;

 

function SelItem(sel_source, sel_dest) 

    
//首先拷贝所有项目到目标 
    var sel_source_len = sel_source.length; 
    
for (var i=0; i<sel_source_len; i++
    { 
     
if(sel_source.options[i].selected) 
     { 
         
var SelectedText = sel_source.options[i].text; 
         
var SelectedValue = sel_source.options[i].value; 
         sel_dest.options.add(
new Option(SelectedText,SelectedValue)); 
         sel_source.options[i].text
="-"
         i
++
     } 
    } 
    
for(var i=0;i<sel_source_len;i++
    { 
     
if(sel_source.options[i].text=="-"
     { 
     sel_source.removeChild(sel_source.options[i]); 
     
//sel_source.options[i].remove; 之前用的是这种方式删除,好像在用异步数据重新填充以后,对DOM作了改变,导致这样的删除出错,最后选中上面的DOM操作方式就没问题了; 
     i--
     sel_source_len
--
     } 
    } 
}

 

 

相关文章:

  • 2021-09-13
  • 2021-11-30
  • 2021-07-06
  • 2022-12-23
  • 2022-12-23
  • 2021-10-01
  • 2021-10-19
  • 2022-12-23
猜你喜欢
  • 2021-06-25
  • 2022-01-26
  • 2019-08-26
  • 2022-12-23
  • 2019-09-04
  • 2021-12-23
  • 2022-12-23
相关资源
相似解决方案