2011-09-11 36 views
1

我在使用jQuery的母版頁內調用頁面getUserAdDetails.aspx?PID=。 我必須動態生成按鈕的ID ...下面的代碼工作正常,但它不能單擊工作,而是我必須雙擊按鈕加載外部頁面..我是新來的jQuery,所以我覺得很難找到解決方案。請檢查我的代碼,並會很感激,如果有人可以修復它..jQuery事件不會在單擊時調用,而是在雙擊時調用

如果我也嘗試發射相同的連接,而不是按鈕,然後它不起作用.. 請參閱下面的代碼,這將給你的想法

<script type="text/javascript"> 
    function passPID(pid, psno) { 
     $(document).ready(function() { 
      $('#' + psno).html('<img src="images/ajax-loader-small.gif"/> Loading...'); 
      $('#' + pid).click(function() { 
        $('#' + psno).load("getUserAdDetails.aspx?PID=" + pid); 
      }); 
     }); 
    } 
</script> 

<input id='<%# Eval("ProductIDGUID")%>' type="button" value="View Details" onclick="passPID('<%# Eval("ProductIDGUID")%>', '<%# Eval("psno")%>')" class="btncss" /> 

回答

2

更改腳本:

function passPID(pid, psno) { 
    $('#' + psno) 
     .html('<img src="images/ajax-loader-small.gif"/> Loading...') 
     .load("getUserAdDetails.aspx?PID=" + pid); 
} 

它用雙擊的工作,因爲當你點擊的第一次,你的函數裏面你附加click事件偵聽器以元件。然後,當你第二次點擊時,這個處理程序正在執行。


這裏是$.slideUp$.slideDown動畫解決方案:

function passPID(pid, psno) { 
    var $psno = $('#' + psno); 
    $psno.html('<img src="images/ajax-loader-small.gif"/> Loading...'); 
    $.get('getUserAdDetails.aspx?PID=' + pid, {} , function(html){ 
     $psno.slideUp(100, function(){ 
      $psno 
       .html(html) 
       .slideDown(); 
     }) 
    }, 'html'); 
} 
+0

你是我的英雄。謝謝Shef ...我會很感激,如果你能告訴我我可以如何動畫這個我的意思是我可以添加.slow或.toggle功能,以便'psno'的div慢慢下滑。我試過,但它因此未工作,用下面的代碼........ 'code' 功能passPID(PID,psno){ $( '#' + psno) 的.html(」 中.. ') .slow(1000) .load(「getUserAdDetails.aspx?PID =」+ pid); } 'code' – Student

+0

@Student:你不能用'.load()'做到這一點,你將不得不使用'$ .get()'。我用'.get()'和'$ .slideDown()'發佈了一個解決方案。 – Shef

+0

再次感謝您的幫助,不幸的是我的代碼相同,但它不適用於我..它不顯示任何東西.... – Student

相關問題