IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

js 操作option

小小子,simaopig 2010-08-17 22:57:14 累计浏览 2,184 次
本机暂存

经常要弄一些联动菜单之类的效果,用js操作option就不可避免了。

一般这种特效需要我们实现两种操作:

  1. 清空option
  2. 根据ajax返回结果,动态创建option

经常要弄一些联动菜单之类的效果,用js操作option就不可避免了。

一般这种特效需要我们实现两种操作:

  1. 清空option
  2. 根据ajax返回结果,动态创建option

js清空option

清空option 不是很难的操作。我们只需要遍历现有option,将其每个子元素都置空即可。

function clearOption(selectId){
    var selectObj = document.getElementById(selectId);
    for(var i = 0,len = selectObj.options.length; i < len; i++){
        selectObj.options[0] = null;
    }
}

这里,大家可以思考一下为何options[0]而不是options[i]

js动态创建option

js创建Option的命令如下:

var newOption = new Option(optionTxt, optionVal);

据此,我们可以将Ajax返回的Json对象循环一下,来动态创建Option

function setSelectOption(selectId, optionList, firstOption, selected)
{
    var selectObj = document.getElementById(selectId);    
    var cnt = 0;
    if(firstOption){
        selectObj.options[0] = new Option(firstOption,'');
        cnt++;
    }
    for(var i = 0,len = optionList.length; i < len; i++){
        selectObj.options[cnt] = new Option(optionList[i].txt, optionList[i].val);
        if(selected == optionList[i].val){
            selectObj.options[cnt].selected = true;
        }
        cnt++
    }
}

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,349)
  2. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,404)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,848)
  5. 天朝第二代身份证号码的验证机制 (累计阅读 14,761)
  6. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  7. 分享一个JQUERY颜色选择插件 (累计阅读 14,223)
  8. 什么是全栈工程师? (累计阅读 14,038)
  9. 使用python/casperjs编写终极爬虫-客户端App的抓取 (累计阅读 12,961)
  10. YSLOW法则中,为什么yahoo推荐用GET代替POST? (累计阅读 11,837)