zoukankan      html  css  js  c++  java
  • js对于Select的删除操作时需要注意的问题

    今天遇到一个比较郁闷的问题,两个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
    --
         } 
        } 
    }
  • 相关阅读:
    vue中使用keepAlive(缓存页面&记忆上次浏览位置)及使用后生命周期的改变
    vue搭配antD-Vue开发项目(一)
    vscode使用
    vue移动端项目经验(三)
    [CF960F] Pathwalks
    [CF1004E] Sonya and Ice-cream
    [CF1142B] Lynyrd Skynyrd
    [CF55D] Beautiful numbers
    [洛谷P4438] HNOI2018 道路
    JOI2019 有趣的家庭菜园3
  • 原文地址:https://www.cnblogs.com/skyakira/p/668152.html
Copyright © 2011-2022 走看看