我有一个div
我追加的table
input
类型为radio
。渲染完成后,单击它时,其checked属性不会改变。可能是什么问题?
<input type="radio" id="radHalf0" name="grp0" class="half">
更新1
我正在使用Jquery.Ajax
创建Markup
,如下所示
$.ajax({
type: "POST",
url: "Leave-Application.aspx/CreateTable",
data: "{'dates':'" + formattedDateArray + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#tblLeaveDetails").html("");
$("#tblLeaveDetails").append(msg.d);
$("#divLeaveDetails").fadeIn();
$("#divTotal").fadeIn();
}
});
[WebMethod]
public static string CreateTable(string dates)
{
string[] dateArray = dates.Split(',');
StringBuilder markup = new StringBuilder("<table class='table table-striped table-hover table-bordered' style='width: 435px'>");
markup.Append(@" <tr> <th>Date</th> <th>Half Day</th> <th>Full Day</th></tr>");
for (int i = 0; i < dateArray.Length; i++)
{
string rowid = dateArray[i].Replace('/', '-');
markup.Append(" <tr id = " + rowid + "> <td>" + dateArray[i] + "</td>");
markup.Append(" <td><input type=\"radio\" id=\"radHalf" + i + "\" name=\"grp" + i + "\" class=\"half\"/></td>");
markup.Append(" <td><input type=\"radio\" id=\"radFull" + i + "\" name=\"grp" + i + "\" class=\"full\"/></td></tr>");
}
markup.Append("</table>");
return markup.ToString();
}
答案 0 :(得分:0)
如果您使用的是单个收音机盒,则不会更改。如果您正在使用单一更改它到chekcbox而不是。 此外,如果您有多个收音机盒,请确保它们具有相同的名称。
答案 1 :(得分:0)
您正在创建具有不同ID(以及名称)的单选按钮。由于该Id和名称只有一个单选按钮,因此无法取消选择。删除您要为Id和名称附加的+ i +。如果所有这些都是差异,如果可以选择和取消选择它们,则使用复选框而不是单选按钮。