我有一个RadioButtonLists和复选框ListViews层次结构,其中层次结构中每个项目的选定值都存储在数据库中。当前,当在对象中选择其他项目时,旧的子对象的值将保留在数据库中,即使未在页面中显示。以下是一个示例:
如果我取消选择问题1的答案1或问题2的是,则子问题被隐藏,但是值保留在数据库中,因为子问题中的实际控件未更改。我进行了更改以使用jquery取消选择子控件:
$("#" + sectionID).find("input:checkbox").each(function () {
$(this).prop('checked', false);
});
$("#" + sectionID).find(":text, textarea").each(function () {
$(this).val("");
});
$("#" + sectionID).find('input[type=radio]').each(function () {
$(this).prop('checked', false);
})
$("#" + sectionID).find(".hasDatepicker").each(function () {
$(this).val("");
});
$("#" + sectionID).hide();
这适用于除单选按钮项以外的所有内容。如果我取消选中Answer 1复选框并重新选中它,则子问题显示时两个单选按钮都未选中,因此jquery似乎正在运行。当我提交要保存到数据库的页面时,对于子问题1的“是”答案仍为IsSelected为true。在代码的后面放置一个断点,然后查看单选按钮项的Selected属性,将Yes单选按钮选定属性显示为true。
看来RadioButtonList项的Selected属性与javascript中单选按钮的checked属性不对应。在几天的搜索过程中,我什么都没找到,以使它正常工作。任何帮助将不胜感激。