使用jquery在按钮上单击下拉列表

时间:2013-02-28 06:53:36

标签: c# asp.net

在我的应用程序中,我有一个下拉列表,它将在按钮点击时填充。我尝试了一些代码,它在document.ready上工作正常,但它没有按下按钮点击..

  $(document).ready(function () {
        $("#<%=btn.ClientID %>").bind('click',function () {
            //
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "gridpaging.aspx/binddropdown",
                data: "{}",
                dataType: "json",
                success: function (data) {
                    $.each(data.d, function (key, value) {
                        $("#ddl").append($("<option> </option>").val(value.UserId).html(value.UserName));
                    });
                    //

                },
                error: function (result) {

                    alert("Error occured");
                }
            });
        });
    });

请让我知道我哪里出错了。谢谢提前..

3 个答案:

答案 0 :(得分:0)

看起来你在这里混合了两种技术。一个是ejs:&lt;%= btn.ClientID%&gt;,这是一个提供动态内容的模板引擎。另一个是你的jquery。可以解决您的问题的方法是向该按钮添加一个类,而不是依赖于您的btn.ClientID,然后使用$(“。myClass”)。bind('click',function()...

看看是否能解决您的问题。如果没有,我需要更多信息。 ejs是在服务器端还是在客户端编译的?你在使用骨干网或某种正在编译ejs的前端框架吗?

答案 1 :(得分:0)

yourdeveloperfriend几乎是正确的,除了<%=btn.ClientID %>不是ejs,但asp.net代码段很可能在错误的地方使用。我只能映像一个可以工作的场景,那就是当这个JS代码位于你的aspx文件中时,但很可能你将它放在一个单独的js文件中。那么你的开发人员说的是什么,并在按钮上放一个类,并将其用作JS中的选择器。

答案 2 :(得分:0)

我也有同样的问题,并通过更改ID设置

解决了这个问题

$("#ddl")

$('#<%=ddl.ClientID%>')