来源:远方网络 | 2005-11-13 15:30:54 | (有2566人读过)
在国外一个网站上看到如下一段代码。
Author:cncfan Site:cncfan.com Document create @ 2005-11-13<SCRIPT language=JavaScript> <!-- hide me var dogs = new Array("poodle","puli","greyhound"); var fish = new Array("trout", "mackerel", "bass"); var birds = new Array("robin", "hummingbird", "crow");
function swapOptions(the_array_name) { var numbers_select = window.document.the_form.the_examples; var the_array = eval(the_array_name); setOptionText(window.document.the_form.the_examples, the_array); }
function setOptionText(the_select, the_array) { for (loop=0; loop < the_select.options.length; loop++) { the_select.options[loop].text = the_array[loop]; } }
// show me -->
</SCRIPT> <!-- Author:cncfan Site:cncfan.com Document create @ 2005-11-13 --> <FORM name=the_form><SELECT onchange=swapOptions(window.document.the_form.choose_category.options[selectedIndex].text); name=choose_category> <OPTION selected>Dogs<OPTION>Fish<OPTION>Birds</OPTION></SELECT> <SELECT multiple name=the_examples> <OPTION>poodle<OPTION>puli<OPTION>greyhound .</OPTION></SELECT> </FORM>
从表明打眼一看没什么不正常的,完全正确啊。 可是运行的时候与实际讲的效果是不一样的。 仔细阅读了N遍代码(偶是新手啦~~别拿砖拍偶 : )) 还是没看出什么来。 实在没什么办法,架起小猫到baidu里搜了 起来,还真幸运,在一个个人blog上也看到了这样一个事例。 从头打尾把没用的代码全去掉,如下是正确的代码。 <Script language=JavaScript> <!-- //建立dogs、fish、birds等选项的数组,以进行对The_examples进行操纵。 var dogs = new Array("poodle","puli","greyhound"); var fish = new Array("trout","mackerel", "bass"); var birds = new Array("robin","hummingbird", "crow"); //建立函数swapOptions(),里面的parameter为Choose_category列表中的值,即刚才上面的数组名称例如dogs,fish,birds等等.
function swapOptions(the_array_name) { //定义number_select为 var numbers_select = window.document.the_form.the_examples; var the_array = eval(the_array_name); setOptionText(window.document.the_form.the_examples, the_array); }
function setOptionText(the_select,the_array) { for (loop=0; loop < the_select.options.length; loop++) { the_select.options[loop].text = the_array[loop]; } } //--> </Script> <form name=the_form> <select onChange=swapOptions(window.document.the_form.choose_category.options[selectedIndex].text); name=choose_category> <option selected>dogs<OPTION>fish<OPTION>birds</OPTION></SELECT> <select multiple name="the_examples"> <option>poodle <option>puli <option>greyhound . </option></select></form>
仔细的对照了一遍,终于在第28行发现了错误,dogs写成了Dogs,汗。。。。 原来就一个大小写的问题。
写在这里,希望各位菜鸟在声明变量的时候注意变量的写法。。。。
区分大小写,养成一个好习惯。。
Author:cncfan Site:cncfan.com Document create @ 2005-11-13
|