接口返回一个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 id="cklistLMLX" border="0">
<tbody>
<tr>
<td>
<input id="cklistLMLX_0" type="checkbox" name="cklistLMLX$0" checked="checked">
<label for="cklistLMLX_0">柏油</label>
</td>
<td>
<input id="cklistLMLX_2" type="checkbox" name="cklistLMLX$2">
<label for="cklistLMLX_2">彩道</label>
</td>
<td>
<input id="cklistLMLX_4" type="checkbox" name="cklistLMLX$4">
<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");
}
});
}