龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

解析JS实现无刷新联动菜单技巧(1)(2)

时间:2013-03-06 14:58来源:未知 作者:admin 点击:
分享到:
2.根据传入的数组创建选项列表: Code: for( vari = 0 ;i len ;i++) { selectObj.options[i]=newOption(optionList[i].txt,optionList[i].val); } 3.在设置选项之前,我们需要先将原有选

2.根据传入的数组创建选项列表:

Code:

  1. for(vari=0;i<len;i++)  
  2. {  
  3. selectObj.options[i]=newOption(optionList[i].txt,optionList[i].val);  
  4. }  
  5.  

3.在设置选项之前,我们需要先将原有选项清空:

Code:

  1. functionremoveOptions(selectObj)  
  2. {  
  3. if(typeofselectObj!='object')  
  4. {  
  5. selectObj=document.getElementById(selectObj);  
  6. }  
  7. //原有选项计数  
  8. varlen=selectObj.options.length;  
  9. for(vari=0;i<len;i++)  
  10. {  
  11. //移除当前选项  
  12. selectObj.options[0]=null;  
  13. }  
  14. }  
  15.  

注意,这里不是用selectObj.options[i]而是用的selectObj.options[0],由于在options[0]删除后,后面的选项就会补上,因此,我们只需要selectObj.options[0]=null。

4.设置一个提示选择项和默认选择项:

通常我们在下拉列表中会设置一个提示选择项,如:“请选择城市”,这个选项值为空,作用只是提示用户执行选择操作。

另外,下拉列表也需要能够设置默认选择项,即在页面加载的时候,设置选中状态的项目。

完整代码如下:

Javascript:

  1. <scriptlanguagescriptlanguage="JavaScript"
  2. type="text/javascript"> 
  3. <!--   
  4. /**说明:将指定下拉列表的选项值清空   
  5. *作者:CodeBit.cn(http://www.CodeBit.cn) *   
  6. *@param{String||Object]}selectObj目标下拉选框的名称或对象,必须   
  7. */  
  8. functionremoveOptions(selectObj){  
  9. if(typeofselectObj!='object'){  
  10. selectObj=document.getElementById(selectObj);} //原有选项计数  
  11. varlen=selectObj.options.length;   
  12. for(vari=0;i<len;i++){  
  13. //移除当前选项  
  14. selectObj.options[0]=null;  
  15. }}  
  16. /**说明:设置传入的选项值到指定的下拉列表中   
  17. *作者:CodeBit.cn(http://www.CodeBit.cn) *   
  18. *@param{String||Object]}selectObj目标下拉选框的名称或对象,必须   
  19. *@param{Array}optionList选项值设置格式:[{txt:'北京',val:'010'},  
  20. *{txt:'上海',val:'020'}],必须  
  21. *@param{String}firstOption第一个选项值,如:“请选择”,可选,值为空  
  22. *@param{String}selected默认选中值,可选   
  23. */  
  24. functionsetSelectOption(selectObj,optionList,
  25. firstOption,selected){  
  26. if(typeofselectObj!='object'){  
  27. selectObj=document.getElementById(selectObj);  
  28. } //清空选项  
  29. removeOptions(selectObj); //选项计数  
  30. varstart=0; //如果需要添加第一个选项  
  31. if(firstOption){  
  32. selectObj.options[0]=newOption(firstOption,'');
  33. //选项计数从1开始  
  34. start++;  
  35. }   
  36. varlen=optionList.length;   
  37. for(vari=0;i<len;i++){  
  38. //设置option  
  39. selectObj.options[start]=newOption(optionList[i].txt,
  40. optionList[i].val);   
  41. //选中项  
  42. if(selected==optionList[i].val){  
  43. selectObj.options[start].selected=true;  
  44. }   
  45. //计数加1  
  46. start++;  
  47. }} //--> 
  48. </script> 
  49.  

精彩图集

赞助商链接