2013-02-28 54 views
0

在我的应用程序中,我有一个下拉列表将被填充按钮click.I尝试了一些代码,它在document.ready上正常工作,但它不按钮单击工作..填充下拉列表上的按钮点击使用jquery

$(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"); 
       } 
      }); 
     }); 
    }); 

请让我知道我提前去wrong..Thanks ..

+0

什么是你的返回的JSON是什么样子? – 2013-02-28 07:07:38

+0

它给了我一个提醒'错误发生'.. – smith269 2013-02-28 07:10:40

+0

什么是实际的错误?为你的'错误'事件处理程序,将其更改为'function(xhr,ajaxOptions,thrownError){alert(xhr.status); alert(thrownError);}'所以你可以看到实际的错误信息。 – 2013-02-28 07:15:12

回答

0

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

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

+0

我也试过,但它不能正常工作。但在IE中,当我点击它的按钮时,它又填充了,但它又熄灭了。 – smith269 2013-02-28 07:02:57

0

yourdeveloperfriend几乎是正确的,除了<%=btn.ClientID %>不是ejs,而是asp.net代码片段,它最有可能用在错误的地方。我只能想到一个场景,这可以工作,这就是当这个JS代码是位于你的aspx文件中,但最有可能的是你把它放在一个单独的js文件中,所以你的开发者朋友说,把一个类放在按钮上,并将它用作JS中的选择器。

+0

我试过了你的开发者朋友说。但仍然不工作.. – smith269 2013-02-28 07:11:57

+0

和你的意思是'它熄灭'? – 2013-02-28 07:30:53

+0

@coder whats that .. – smith269 2013-02-28 07:36:40

0

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

$("#ddl")

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