如题,jquery代码写在jsp有效,放到js文件引入就无效代码:
function selectChange(){
        //alert(selectFlag);
$("#_sel").find("option[value='"+selectFlag+"']").attr("selected","selected");
}代码写在jsp里一切正常,放进js文件引入后,代码就实现不了效果。
而且,当代码都在js文件时,我把alert(selectFlag);注释去掉,效果能正常实现,注释后又失效了。
selectFlag是在js文件里声明的变量。
搞不清楚什么原因,恳请请高手帮忙解惑!jQueryJavaScriptJSP

解决方案 »

  1.   

    请确定在调用这个方法的时候页面已经加载就绪。保守点,直接把引入JS文件的代码放到body最下面。
      

  2.   

    估计又是domready的问题,如果你原来的代码在html后面,现在的引入文件在html的前面就会出现找不到对象错误,因为html在引入js里还没加载。解决方法如楼上,在页面最后引用,或使用jQuery的ready事件。
      

  3.   

    1.页面加载未完成的时候调用了函数,或者页面加载当中出现了脚本错误.你可以先试着把js脚本引入的<script>标签放在body之后看看.
      

  4.   

    谢谢各位回答,我用setTimeout延时执行解决好了。
      

  5.   

    我也遇到了同样的问题,请问楼主怎么解决的?我自己用
    setTimeout(function(){    var scr=document.createElement('script');
        scr.src='timeSelecter.js';
        document.write( scr.src);
        scr.type='text/javascript';
        document.appendChild(scr);
    },1000)
    没有解决问题 ,将文件放在</body>之前引入  在chrome上发现根本没有引入成功。。