1

我有组合框,我在其中填充来自 ajax jquery 的数据。它工作正常,但是当我点击保存按钮回发后,回发后它不起作用。

这是我的 Jquery 代码。

 $(document).ready(function () {
 var EmpCombo = $('#Cmb_PEmp');
                        var textbox = $("#TxBx_BasicSalary");
                        var BasicSalary = $('#Hid_BasicSalary');
                        var EmpID = $('#Hid_EmpID');
  EmpCombo.on('change', function EmpCmbFuction(e) {
                    e.preventDefault();
                    myEvent();

                });
function myEvent() {
                    var EmployeeId = $('#Cmb_PEmp :selected').val();
                    if (EmployeeId == 0) {
                        return;
                    }
                    $.ajax({
                        type: "POST",
                        cache: false,
                        contentType: "application/json; charset=utf-8",
                        url: '/WebService/GetBasicSalaryByEmpID.asmx/GetSalaryByEmpId',
                        data: '{ "EmployeeId": "' + EmployeeId + '" }',
                        dataType: 'json',
                        success: function (data) {
                            var data = $.parseJSON(data.d)

                            if (data["BasicSalary"] == 0) {
                                textbox.val("No BasicSalary Define Yet");
                                return;
                            }
                            textbox.val(data["BasicSalary"]);
                            BasicSalary.val(data["BasicSalary"]);
                            EmpID.val(EmployeeId);

                        },
                        error: function () { alert("error"); }
                    });
                }
 var prm = Sys.WebForms.PageRequestManager.getInstance();
                prm.add_endRequest(function () {
                    $(document).ready(function () {
 EmpCombo.on('change', function EmpCmbFuction(e) {
                            e.preventDefault();
                            myEvent();

                        });
});

回发后我将如何解决这个问题它没有给我正确的结果?Jquery 不执行任何功能。

4

6 回答 6

7

尝试使用

function pageLoad() 
{

}

安装在$(document).ready()

于 2013-05-06T10:15:43.973 回答
6
function myEvent() {
    // Put all your code
}
$(document).ready(function () {
    myEvent();
});
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
    myEvent();
});
于 2013-05-06T11:18:07.623 回答
4

请尝试以下脚本部分:

         function pageLoad(sender, args) {
         //Your jquery code
         }



     I hope this will work.
于 2014-02-06T07:00:51.743 回答
3

当您使用 jQuery 并且使用 jQuery ajax 处理数据时,为什么不放置一个单独的占位符(不使用更新面板)。然后您的代码将可以正常工作,例如定义这样的占位符;

<asp:Content ID="Content3" ContentPlaceHolderID="RemoveUpdatePanelPlaceHolder" runat="Server">
   // your content goes here
</asp:Content>
于 2013-05-07T05:56:03.103 回答
1

我可以看到您已经在使用PageRequestManager此类问题所需的内容,但是您需要放置所有代码,以使其正常工作,如下所示:

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function () {
    $(document).ready(function () {
        var EmpCombo = $('#Cmb_PEmp');
        var textbox = $("#TxBx_BasicSalary");
        var BasicSalary = $('#Hid_BasicSalary');
        var EmpID = $('#Hid_EmpID');
        EmpCombo.on('change', function EmpCmbFuction(e) {
            e.preventDefault();
            myEvent();

        });

        function myEvent() {
            // Put all your myEvent function code here

        }
    });
});
于 2013-05-06T10:13:30.267 回答
-1

document.ready功能只触发一次,一旦发布就不会触发。尝试使用该page_load()功能。

于 2015-03-03T10:17:55.240 回答