JS问题求助,这段代码出错了

<formaction="?"method="post"enctype="multipart/form-data"name="form1"id="form1"onsubm... <form action="?" method="post" enctype="multipart/form-data" name="form1" id="form1" onsubmit="setindex_left_right();">
<table>

<tr>
<td>
<select name='mszfg_style' onchange="change_mystyle(this);">
<option value='114la'>114啦风格</option>
<option value='2345' selected>2345导航</option>
<option value='default'>官方风格</option>
<option value='hao123'>好123</option>
</select>

<script language="javascript">
var style_key;//声明全局变量,因为下一个函数也用到这个变量
function change_mystyle(my){
style_key=my.options[my.selectedIndex].value;//style_key等于下拉选项的被鼠标选中的
for( var i=0;i<my.options.length;i++){//以选项总数循环
if(my.options[i].value!=='+style_key+'){//如果循环中的选项value值不是被鼠标选中的那个
var style_key[i]=my.options[i].value;
/*就给style_key[i]赋值为该选项的value值,style_key[i]读取后应该是style_key[1],style_key[2],style_key[3]这样的*/
document.getElementById('+style_key[i]+').style.display='none';//然后给id为style_key[i]的tr容器赋值
}
}
}
function setindex_left_right()
{
var mod_fgsz =document.getElementById("'+style_key+'");//给mod_fgsz赋值
for( var ii=0;ii<mod_fgsz.options.length;ii++){
mod_fgsz.options[ii].selected=" selected";
}
}
</script>
</td></tr>
<tr id="114la">
<td>333</td>
</tr>
<tr id="2345">
<td>4444</td></tr>
<tr id="default">
<td>4444</td></tr>
<tr id="hao123">
<td>4444</td></tr>
<tr>
<td><input type="submit" name="button" id="button" value="保 存" />
</td>
</tr>
</table> </form>
错了,下一个函数应该是这样的
function setindex_left_right()
{
var mod_'+style_key+' =document.getElementById("index_'+style_key+'");
for( var ii=0;ii<mod_'+style_key+'.options.length;ii++){
mod_'+style_key+'.options[ii].selected=" selected";

}
}
展开
 我来答
njgpg71
2011-02-21 · 超过40用户采纳过TA的回答
知道答主
回答量:146
采纳率:100%
帮助的人:0
展开全部
document.getElementById('mm1').getElementsByTagName('li')这个得到的是一个DOM对象集合,是一个objNodeList。没有concat这个方法。

既然NodeList有length,可以for循环索引取值,转换成数组就很简单了。最直接的思路是这样的:
var arr = new Array();
var anchors = document.getElementsByTagName("a")
for (var i = 0; i < anchors.length; i++) {
var ele = anchors[i];
arr.push(ele); //arr就是我们要的数组
}
先new一个Array,遍历NodeList,然后将每一个单独的元素push到数组变量里,最后操作数组变量。就是用你说的concat方法。可以参见。
xugang1225
2011-02-22 · TA获得超过102个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:97.7万
展开全部
找错
1 if(my.options[i].value!=='+style_key+'){//如果循环中的选项value值不是被鼠标选中的那个
!== 这个对 !=这个是不等于

2 var style_key[i]=my.options[i].value;没有这么网上赋值的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式