jquery根据接口返回的值来设置asp:CheckBoxList的选中值
接口返回一个json的值,然后通过jquery来选中asp:CheckBoxList相应选中的值
<asp:CheckBoxList runat="server" RepeatColumns="4" ID="cklistLMLX"> <asp:ListItem Text="柏油" Value="柏油"></asp:ListItem> <asp:ListItem Text="水泥" Value="水泥"></asp:ListItem> <asp:ListItem Text="彩道" Value="彩道"></asp:ListItem> <asp:ListItem Text="绿化" Value="绿化"></asp:ListItem> <asp:ListItem Text="快车道" Value="快车道"></asp:ListItem> <asp:ListItem Text="慢车道" Value="慢车道"></asp:ListItem> <asp:ListItem Text="人行道" Value="人行道"></asp:ListItem> <asp:ListItem Text="小区道" Value="小区道"></asp:ListItem> </asp:CheckBoxList>
浏览器查看到的代码如下:
<table > <tbody> <tr> <td> <input > <label for="cklistLMLX_0">柏油</label> </td> <td> <input > <label for="cklistLMLX_2">彩道</label> </td> <td> <input > <label for="cklistLMLX_4">快车道</label> </td> <td> </tr> <tr> </tbody> </table>
返回接口 lmlx数据如下: 小区道,人行道
function SetCheckboxList(lmlx) { $("#cklistLMLX").find("input[type=checkbox]").each(function (i) {
//alert($(this).val()); 这种方法是错误的 // alert($(this).next().text()); if (lmlx.indexOf($(this).next().text()) >= 0) { $(this).attr("checked", 'true'); } else { $(this).removeAttr("checked"); } }); }