单选按钮检查属性不变

时间:2014-11-10 09:17:14

标签: javascript jquery asp.net

我有一个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();
}

2 个答案:

答案 0 :(得分:0)

如果您使用的是单个收音机盒,则不会更改。如果您正在使用单一更改它到chekcbox而不是。 此外,如果您有多个收音机盒,请确保它们具有相同的名称。

答案 1 :(得分:0)

您正在创建具有不同ID(以及名称)的单选按钮。由于该Id和名称只有一个单选按钮,因此无法取消选择。删除您要为Id和名称附加的+ i +。如果所有这些都是差异,如果可以选择和取消选择它们,则使用复选框而不是单选按钮。