设想:
- 具有给定 GroupName 的多个单选按钮和
AutoPostBack="true".
- 出于样式目的,单选按钮使用 js 隐藏,并且通过 js 处理对其容器(td)的单击
- 单击 td 时,脚本“单击”输入元素并触发 asp.net 的自动回发
它会回发并在服务器上点击 PageLoad,但不会触发代码隐藏中的事件。
设想:
AutoPostBack="true".
它会回发并在服务器上点击 PageLoad,但不会触发代码隐藏中的事件。
我发布了这个,以防有人不幸遇到这个问题。
在对此答案的评论中非常准确地提到了问题https://stackoverflow.com/a/8244315/66372。
然而,.click() 有一件事:如果您像这样使用 javascript 更改收音机的选定值,则“更改”事件不会在 IE 中触发(我尝试过 IE8)– Michiel Reyers
这似乎与 asp.net 的回发事件处理相混淆。所以为了让它捡起来,我们首先明确地选择它:
$(this).find("input").prop("checked", true);
$(this).find("input").click();