2013-02-28 109 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%>')