假设:
<input type="checkbox" name="city" value="cityA"> CITYA
<input type="checkbox" name="city" value="cityB"> CITYB首先是遍历所有CheckBox对象:
var boxobj = document.getElementsByName("city");
然后根据它的值与目标值进行比较:
for(var i=0;i<boxobj.length;i++){
    //符合条件的就选上:
    if(boxobj[i].value == "cityA"){
        boxobj[i].checked = true;
    }
}

解决方案 »

  1.   

    也许是我的问题说的不到位,我索性把我的代码贴出来,应该比较好理解点,这个是我自己改的,但不成功,看看问题在哪?ASP.NET平台,不过我觉得下面取值部分应该没什么问题,主要还是JS部分.
    function select_deselectAll(chkVal, idVal) { 
        var frm = document.forms[0];    // Loop through all elements
        for (i=0; i<frm.length; i++) {    // Look for our Header Template's Checkbox
        if (frm.elements[i].id== ("City"+idVal)) {    // Check if main checkbox is checked, then select or deselect datagrid checkboxes 
         if(chkVal == true) 
         {
             frm.elements[i].checked = true;
         } 
         else 
         {
             frm.elements[i].checked = false;
         }
         if(frm.elements[i].name.indexOf('CancelAll')!=-1)
         {
              frm.elements[i].checked = false;
         }
       } 
     }
    }
    ...........上下文都有,这里省略了,顶楼所述A,B是从数据库取的.
    <asp:CheckBox ID="CheckAll" OnClick='javascript: return select_deselectAll (this.checked, "<%# DataBinder.Eval(Container.DataItem,"ID") %>");'
    runat="server" />全选</td>
    .........
      

  2.   

    checkbox也不是固定的,是许多动态生成的name一样,id不一样的选择框(比如出现100个选择框,100个的name都叫city,但其中40个的id是cityA,另外60个的id是CityB),这里应该就靠id来分辨.
      

  3.   

    id怎么能不是唯一的? - -!function select_deselectAll(chkVal, idVal) { 
        var frm = document.getElementsByName("city");
        for (var i=0; i<frm.length; i++) {
        if (frm.[i].value== ("City"+idVal)) {
         if(chkVal == true){
             frm.[i].checked = true;
         }else{
             frm.[i].checked = false;
         }
       } 
     }
    }
      

  4.   

    .NET动态生成的CHECKBOX的ID是可以一样的,而且我这些全是CHECKBOX,取VALUE的话是没有值的.
      

  5.   

    哪位熟悉.NET和JS的出来帮帮忙啊