Javascript Ajax动态绑定按钮在mvc中不起作用

Javascript Ajax动态绑定按钮在mvc中不起作用,javascript,ajax,asp.net-mvc,jquery-mobile,asp.net-mvc-2,Javascript,Ajax,Asp.net Mvc,Jquery Mobile,Asp.net Mvc 2,我已经用ajax结果数据绑定了一个div。它在绑定内容后不起作用。页面加载视图功能时,控件正在工作。但是在使用ajax将代码添加到div之后,在填充的div中使用任何控件时,都不会运行脚本。div之外的控件正在使用脚本 我正在使用MVC2,请帮我解决这个问题 ajax代码 function Operation(ActionResult, mod,discid) { $.ajax({ type: 'Get',

我已经用ajax结果数据绑定了一个div。它在绑定内容后不起作用。页面加载视图功能时,控件正在工作。但是在使用ajax将代码添加到div之后,在填充的div中使用任何控件时,都不会运行脚本。div之外的控件正在使用脚本

我正在使用MVC2,请帮我解决这个问题

ajax代码

 function Operation(ActionResult, mod,discid) {
            $.ajax({
                type: 'Get',
                url: ActionResult,
                data: { strDiscId: discid, PageNum: $("#hdnPagenum").val(), PageCount: $("#hdnPageCount").val(), 
                        strSearchType: $("#hidSort").val(),strSearchText:  $("#hidSearchText").val() },
                success: function (data) {
                    flag = true;
                        if (mod == "view") {

                            $("#taBody").val(data);
                        }
                        else {
                            $("#divContactsChecks").html(data);
                        }
                }
            });
        }
    });
        $("#liTitle").click(function () {
            $("#hidSort").val('TS'); //Title Sort
            Operation('LoadDisclaimers', 'Load',0);
        });
服务器端代码

public string LoadDisclaimers(string strDiscId, string PageNum, string PageCount,string, strSearchType,string strSearchText)
    {
        string strTable = "";
        AdminModel objModel = new AdminModel();
        DataTable dtDisc = new DataTable();

        string strOrderBy = "";
        switch (strSearchType)
        {
            case "TS": strOrderBy = "[name]"; break;
            case "US": strOrderBy = "date_updated"; break;
            case "CS": strOrderBy = "date_created"; break;
            case "TSD": strOrderBy = "[name] desc"; break;
            case "USD": strOrderBy = "date_updated desc"; break;
            case "CSD": strOrderBy = "date_created desc"; break;
            default: strOrderBy = "[name]"; break;
        }
        using (dtDisc = objModel.GetDisclaimer(strOrderBy, Convert.ToInt16(PageNum), Convert.ToInt16(PageCount), strSearchText))
        {
            for (int i = 0; i < dtDisc.Rows.Count; i++)
            {
                string strId = dtDisc.Rows[i]["disc_id"].ToString();
                strTable += "<div class='border-bottom-line gm-pad-tb-12'>";
                strTable += "<span class='display-ib-top'><input id='ipCheck" + strId + "' type='checkbox' value='" + strId + "' class='default-checkbox' />";
                strTable += "<label for='ipCheck" + strId + "'></label></span>";
                strTable += "<div class='display-ib-top m-left25 span-45-p'>";
                strTable += "<div><span id=spTitle_" + strId + " class='blue-h1 font-arial-18'>" + dtDisc.Rows[i]["name"].ToString() + "</span></div>";
                strTable += "<div><span class='font-arial-14 display-ib-middle'>Created on : </span>";
                strTable += "<span class='display-ib-middle adm-disable font-arial-12'>" + dtDisc.Rows[i]["date_created"].ToString() + "</span></div>";
                strTable += "<div><span class='font-arial-14 display-ib-middle'>Modified on : </span>";
                strTable += "<span class='display-ib-middle adm-disable font-arial-12'>" + dtDisc.Rows[i]["date_updated"].ToString() + "</span></div>";
                strTable += "</div><div class='display-ib-middle rgt'>";
                strTable += "<span id=spViewDisc_" + strId + " class='display-ib-middle light-grey-btn large-btn'>View Details</span></div></div>";
            }
        }
        ViewData["Disclaimers"] = strTable;
        return strTable;
    }
publicstringloader免责声明(stringstrdiscid、stringpagenum、stringpagecount、string、strearchtype、stringstrearchtext)
{
字符串strTable=“”;
AdminModel objModel=新的AdminModel();
DataTable dtDisc=新的DataTable();
字符串strOrderBy=“”;
开关(strSearchType)
{
案例“TS”:strOrderBy=“[name]”中断;
案例“US”:strOrderBy=“更新日期”中断;
案例“CS”:strOrderBy=“创建日期”中断;
案例“TSD”:strOrderBy=“[name]desc”;中断;
案例“USD”:strOrderBy=“日期”更新描述;中断;
案例“CSD”:strOrderBy=“创建日期描述”;中断;
默认值:strOrderBy=“[name]”中断;
}
使用(dtDisc=objModel.GetDisclaimer(strOrderBy、Convert.ToInt16(PageNum)、Convert.ToInt16(PageCount)、strearchtext))
{
对于(int i=0;i
用于jQuery中的事件委派

$("#liTitle").on('click', function () {
    $("#hidSort").val('TS'); //Title Sort
    Operation('LoadDisclaimers', 'Load',0);
});
编辑 根据注释,您需要使用
$(“#divContactsChecks”)。在('click',“span[id^='spViewDisc']”上,使用函数()
,而不是
$(“span[id^='spViewDisc'])。单击(函数()


事件处理程序仅绑定到当前选定的元素;它们必须在代码调用
.click()

$(“#little”).on('click',function(){函数始终工作。因为它在div“divContactsChecks”之外但是在加载带有html代码($(“#divContactsChecks”).html(data);)的div之后,任何span“@rageshivakumar函数都不起作用,哪个函数没有编写该代码,在获取html代码并绑定到div之前,一切都正常:以下是函数:$($span[id^='spViewDisc'])。单击(function(){$(“#hidMode”).val(“Update”);var curID=$(this).attr(“id”).split(“”);$(“#hdnDiscID”).val(curID[1]);$(“#ipTitle”).val($($(“#spTitle”+curID[1]).text());操作(“getDiscText”,“view”,“view”,curID[1])$(“#divAddDisc”)。show('fast'))});复选框也不起作用。@rageshivakumar,使用
$(“#divContactsChecks”)。在('click',“span[id^='spViewDisc']”上,函数()
,而不是
$(“span[id^='spViewDisc'])。单击(函数()
,效果惊人。你能告诉我为什么$('span[id^='spViewDisc'])。单击(函数()不起作用了??非常感谢……编码很愉快