Поскольку ASP.Net 2.0 не отображает это должным образом (его цель состоит в том, чтобы получить значения на стороне сервера), вы можете совершить небольшую попытку. В коде позади сделайте что-то вроде этого:
foreach (ListItem li in typeCheckBoxList.Items)
li.Attributes.Add("data-value", li.Value);
Тогда ваша разметка будет выглядеть следующим образом (игнорируйте более короткие имена, мой тест не был в другом именованном контейнере, и для вопроса не имеет значения один бит):
<table id="typeCheckBoxList">
<tr>
<td>
<span data-value="0">
<input id="typeCheckBoxList_0" type="checkbox" name="H$M$typeCheckBoxList$0" />
<label for="typeCheckBoxList_0">Student</label>
</span>
</td>
<td>
<span data-value="1">
<input id="typeCheckBoxList_1" type="checkbox" name="H$M$typeCheckBoxList$1" />
<label for="typeCheckBoxList_1">Parent</label>
</span>
</td>
<td>
<span data-value="2">
<input id="typeCheckBoxList_2" type="checkbox" name="H$M$typeCheckBoxList$2" />
<label for="typeCheckBoxList_2">Educational</label>
</span>
</td>
<td>
<span data-value="3">
<input id="typeCheckBoxList_3" type="checkbox" name="H$M$typeCheckBoxList$3" />
<label for="typeCheckBoxList_3">Specialist </label>
</span>
</td>
<td>
<span data-value="5">
<input id="typeCheckBoxList_4" type="checkbox" name="H$M$typeCheckBoxList$4" />
<label for="typeCheckBoxList_4">Other</label>
</span>
</td>
</tr>
</table>
Заметили, что дополнительные <span data-value="valueHere"></span>
обернуты вокруг него сейчас? Вы можете просто использовать .closest()
или .parent()
, чтобы перейти к <span>
и получить это значение через .attr()
, например:
$('#typeCheckBoxList input:checked').each(function() {
alert($(this).closest('span').attr('data-value'));
alert($(this).next('label').text());
});
Попробуйте в демоверсии здесь :) Если это вообще поможет. режим рендеринга по умолчанию для ASP.Net 4.0 делает визуализацию value
в разметке, как и должно быть. Причина, по которой формат data-thing
для атрибута должен быть максимально допустимым, они называются атрибутами данных , добавленными в спецификацию в HTML5, но не вызывают проблем в 4. 4. 1029 *