Javascript函数不适用于动态创建的图像按钮(ASP.NET)

时间:2011-08-04 10:11:34

标签: c# javascript jquery asp.net

得到这样的东西:

    protected void Page_Init(object sender, EventArgs e)
    {
        LoadImageButtons();
    }

    private void LoadImageButtons()
    {
        for (int i = 1; i < 10; i++)
        {
            ImageButton myImageButton = new ImageButton();

            myImageButton .ID = i.ToString();
            myImageButton .CssClass = "buttonFieldClass";
            myImageButton .Click += new ImageClickEventHandler(einButton_Click);
            myImageButton .OnClientClick = "toRight(this.id);return false";

            div.Controls.Add(myImageButton);
        }
    }

Javascript(Jquery):

function toRight(id) {
$("#id").animate({ "left": "+=250px" }, "slow");};

并没有任何反应(使用静态控件)..所以我觉得ID出错了..希望你们能帮帮我..

2 个答案:

答案 0 :(得分:1)

像这样改变你的jquery。

function toRight(id) {
    $("#" + id).animate({
        "left": "+=250px"
    }, "slow");
};

字符串"#id"不是所需的选择器 所需的选择器"#"与变量"id"

连接在一起

答案 1 :(得分:0)

在我看来,问题就在于这一行

    myImageButton .OnClientClick = "toRight(this.id);return false";

尝试更改为:

    myImageButton .OnClientClick = "toRight('" + this.id + "');return false";

哦,建议的Javascript修复也是正确的,也是必需的!