请教各位达人一个问题,我页面打开的时候,有一个select,我想让页面一进来的时候,它就能选中一个从别的页面穿过来的value值(projectId),代码如下:
var projectSel = document.getElementById("projectId");
if(0!=projectId){
//alert(projectId);
projectSel.value =projectId;
}
可是我如果不使用alert(projectId)这句话的时候它显示的是list德第一行,用了alert(projectId),点了确定后才能显示我想让它显示的东西,这里alert起到了什么作用么?
另外,当取到的值包含中文的时候,
var aaa = 会出错,也不能用,
但是如果是值是英文或数字的时候就好用,这是怎么一回事呢,有什么解决办法么?!
[b]问题补充:[/b]
按http://www.sosuo8.com/article/show.asp?id=49上写的修改之后,仍然在sel.option[i].selected=true那里出现错误,页面上也会有error on page的提示,原因不明~
lovewhzlq的回答,说var aaa = 这样用不行,为什么呢?另外,我的程序里面不是要取选择的option的value值,而是知道value值想选定对应选项~
zgy_zhengGY的回答,这里不是模型驱动的问题,select中的内容是用javascrip动态添加的,开始进入页面的时候为空,所以使用模型驱动知道value值也取不到值的~另外,我的页面编码设置的是utf-8~
[b]问题补充:[/b]
最终成功代码:(注释部分为我原来尝试的代码,但是不行,原因不明)
var projectId = ;
for(var i=0; i<projectList.length; i++) {
if(projectList[i].id==projectId){
$("" + projectList[i].name + "").appendTo(projectSel);
}else
$("" + projectList[i].name + "").appendTo(projectSel);
}
}
//for(var i=0;i<projectSel.options.length;i++){
// if(projectSel.options[i].value==projectId){
/// projectSel.options[i].selected = true;
// break;
// }
//}