“强制”复选框单击事件

force checkbox click event

本文关键字:单击 事件 复选框 强制      更新时间:2023-09-26

我有一个javascript函数绑定到asp:checkboxlist中每个复选框项的click事件。但是,用户可以通过一个选项动态地向列表中添加新项。我已经成功地完成了这段代码,添加了项目,并将javascript函数绑定到onclick事件。但是,我需要从后面的代码运行onclick函数一次,因为我将项目添加到列表中。我如何从c#后台代码中简单地运行一个预先存在的javascript函数?

protected void btnAddLang_Click(object sender, EventArgs e)
{
        Healthline.ServiceRecords.DataHelper helper = new Healthline.ServiceRecords.DataHelper();
        Hashtable prms = new Hashtable();
        DataSet dsLangs = new DataSet();
        prms = new Hashtable();
        prms.Add("@LangName", txtOtherLanguages.Text);
        dsLangs = helper.RunSP("mySP", prms);
        if (dsLangs.Tables[0].Rows.Count > 0)
        {
            ListItem item = new ListItem();
            item.Value = dsLangs.Tables[0].Rows[0]["LanguageID"].ToString();
            item.Text = dsLangs.Tables[0].Rows[0]["Language"].ToString();
            chkTopLanguages.Items.Add(item);
        }
        foreach (ListItem listitem in chkTopLanguages.Items)
        {
            listitem.Attributes.Add("onclick", "GetLanguages()");
        }
        //here I need to force an immediate call to the javascript function GetLanguages()
    }

如果有帮助的话。而不是直接调用javascript函数,如果我可以强制触发我刚刚添加的复选框的onclick事件,那也应该工作,因为javascript函数调用复选框项的onclick

我建议给函数添加一个参数,并传入控件。这样你就可以处理onclick,并且你可以在页面返回时调用该函数,即当动态复选框第一次呈现时。