wanke19891102
2013-08-29 03:38
采纳率: 50%
浏览 6.9k
已采纳

js获取多选框的value值时,老获取不到第一个框的value值,显示为空值。其他的都能获取

jsp页面中的代码:

承运人:
input type="checkbox" name="carrier" id="carrier" value="HU" />
input type="checkbox" name="carrier" id="carrier" value="JD" />
input type="checkbox" name="carrier" id="carrier" value="GS" />
input type="checkbox" name="carrier" id="carrier" value="GN" />
input type="checkbox" name="carrier" id="carrier" value="8L" />

js代码:
//取出后台传递过来的承运人值,然后填充到前台页面
var c=data.dtospecialPeriod.carrier;//这是从数据库取出的数据,格式为HU/GS/8L
var s = [];
s = c.split("/");
var obj = document.getElementsByName("carrier");
for(var x=0; x<s.length; x++){
for(var i=0;i<obj.length;i++ ){
if(obj[i].value==s[x])
{
obj[i].checked=true;
break;
}
}
}

实现的功能是:从数据库取出承运人数据格式上面所示,然后显示到多选框中被选。问题:老取不到多选框carrier的第一个值(value=“HU”),其他值都能正常取到。这样就无法判断从后台传递来HU时,value=“HU”的框无法显示被选。怎么解决?谢谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • wanke19891102 2013-09-05 10:22
    已采纳

    我已经解决了 就是把多选框中的id属性去掉,原因可能是id属性名字不能重复。所以只留name属性就好!
    input type="checkbox" name="carrier" value="HU" />
    input type="checkbox" name="carrier" value="JD" />
    input type="checkbox" name="carrier" value="GS" />
    input type="checkbox" name="carrier" value="GN" />
    input type="checkbox" name="carrier" value="8L" />

    把id=“carrier”去掉就行

    点赞 打赏 评论
  • 快乐的走在路上 2013-08-29 13:23

    LZ,我用你这个代码做成HTML,是可以实现的。能够取到多选框carrier的第一个值。

    点赞 打赏 评论

相关推荐 更多相似问题