2011-12-07 109 views
0

我有一個網格視圖,其中有一個按鈕域,用於使用GridView_RowDeleting()事件刪除網格視圖中的特定行。如何處理jquery中的點擊事件按鈕?

因此,當該特定行獲取使得它的這種

<input type="button" value="Delete" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolderBodyMasterPage$grdvwUsers','Delete$0')" class="delete" /> 

刪除功能工作正常。

但我想在此按鈕上顯示確認消息,請單擊是否刪除用戶。 對於我加入了查詢代碼爲顯示確認消息,但多數民衆贊成不工作,不知道爲什麼,

  $(".delete").click(function(e) { 
       // code for displaying the confirmation dialog 
      }); 

請幫我,謝謝!

+0

您是否必須爲此使用jQuery?因爲有一個Ajax控件工具包的解決方案? – lalibi

+0

無論您綁定了哪個jQuery,它都會進行回發,不是嗎? – hunter

+0

@ hunter-是的,你是對的,無論jquery代碼在哪裏,它都會回發。 – Bibhu

回答

1

問題在於回發是在點擊處理之前執行的呃。下面的作品,但它是醜(test code here):

$(function() { 
    var $button = $(".delete"); 

    var command = $button.attr('onclick'); // Keep the inline command 
    $button.removeAttr('onclick'); // Clear the inline onclick 

    $button.click(function() { 
     if (confirm('Are you sure?')) { 
      eval(command.replace('javascript:', '')); // Call the stored command 
     } 
    }); 
}); 

我會建議使用從Ajax控件工具包

+0

@ lalibi-如果我使用上面的代碼,它仍然在回發並且不顯示對話框。 – Bibhu

+0

@Bibhu - 測試代碼頁是否適合您? – lalibi

+0

@Bibhu - 在上面的代碼中嘗試使用''javascript:''而不是'javascript:''。它應該工作。 – lalibi

1

Haven't測試,但嘗試一下

$(".delete").click(function() { 
    return confirm('Are you sure?'); 
}); 

...它應該工作;)

+0

不幸的是它沒有。內聯JavaScript首先執行。 – lalibi

+0

@lalibi - 你的意思是「內聯JavaScript首先執行」? – Bibhu

+0

@Bibhu - By inline javascript我的意思是'javascript:__ doPostBack('ctl00 $ ...','刪除$ 0')' – lalibi

0

你在你的元素定義一個處理程序:

<input type="button" value="Delete" onclick="javascript:__doPostBack('ctl00$ContentPlaceHolderBodyMasterPage$grdvwUsers','Delete$0')" class="delete" /> 

你必須把這個動作在jquery點擊功能

0

確認鍵延長器的jQuery的最新版本的API,那將是什麼沿此線:

$("#myButton").on('click', function() { 
    // do stuff 
}); 
0

我會鉤我的點擊事件到一個jQueryUI對話框彈出窗口,然後確認激發刪除功能。

$("#ConfirmDialog").dialog({ 
    title: "Confirm", 
    modal: true, 
    resizable: false, 
    hide: "fade", 
    autoOpen: true, 
    width 100, 
    height: 100, 
    buttons: 
    { 
    "Yes Delete It":function(){ 
    // Delete function here 
    $(this).dialog("close"); 
    }, 
    "No, Don't Delete":function() { 
    $(this).dialog("close"); 
    } 
    } 
}); 

這是什麼會做的是讓你有更多的控制權,彈出式窗口,使它看起來像網站與一個JavaScript警告框的一部分。