在我的应用程序中,我有一个下拉列表,它将在按钮点击时填充。我尝试了一些代码,它在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");
}
});
});
});
请让我知道我哪里出错了。谢谢提前..
答案 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%>')