回发后未运行Javascript
在ASP.Net中发生回发之前,我有一些Javascript可以很好地工作,但是当按钮单击发生回发事件时,脚本将不再运行 这是我正在使用的代码回发后未运行Javascript,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,在ASP.Net中发生回发之前,我有一些Javascript可以很好地工作,但是当按钮单击发生回发事件时,脚本将不再运行 这是我正在使用的代码 function displayCheckboxInSubject() { var CountSelectedCB = []; console.log("in displayCheckBoxInSubject with loader"); $(".subjectCB").on("change loader", function (
function displayCheckboxInSubject() {
var CountSelectedCB = [];
console.log("in displayCheckBoxInSubject with loader");
$(".subjectCB").on("change loader", function () {
//$(".subjectCB").change(function () {
selectedCB = [];
notSelectedCB = [];
CountSelectedCB.length = 0;
$(".subjectCB").each(function () {
//alert("in here two")
if ($(this).find("input").is(":checked")) {
//alert("in here three")
CountSelectedCB.push($(this).find("input").val());
}
});
$("#txtSubject").val(CountSelectedCB.join(", "));
}).trigger("loader");
}
$(document).ready(displayCheckboxInSubject);
如果有人能为我指出解决这个问题的正确方向,我将不胜感激
谢谢
Simon这是因为回发后不会执行document.ready() Microsoft建议使用PageRequestManager设置请求处理程序。但是,您也可以从后端初始化控件并以这种方式启动它 我不认为这有什么了不起,但请看下面的答案: 更新:你能使用UpdatePanel吗?这应该会让它起作用
<script type="text/javascript">
function pageLoad() {
$('#TextBox1').unbind();
$('#TextBox1').datepicker();
}
</script>
<asp:ScriptManager runat="server" />
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button runat="server" ID="Button1" />
<asp:TextBox runat="server" ID="TextBox1" />
</ContentTemplate>
</asp:UpdatePanel>
函数pageLoad(){
$('#TextBox1').unbind();
$('#TextBox1').datepicker();
}
我需要把这个放在哪里?或者我应该删除它吗?这对我来说不起作用,我也不做异步回发-我试图做的是当用户在asp.net webform上单击“发送”将数据发送到数据库时,如果失败,则页面回发,而不保留值。页面现在保留了这些值,但现在已经停止了javascript的工作。那么,如果我使用更新面板,我会在哪里使用它?我会将复选框列表放在面板中,还是在其他地方使用它?将UpdatePanel放在表单中,并将控件放在表单中。请参阅此链接:我没有使用ajax更新面板,因此我不认为这是一个重复的问题。