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"); } }); }