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”的框无法显示被选。怎么解决?谢谢

我已经解决了 就是把多选框中的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”去掉就行

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