2012-01-24 100 views
0

我試圖使用jQuery對話框到位Java腳本的標準確認對話框中爲我的項目jQuery的確認對話框 - Yii框架

我一派,下面漂亮的jQuery的確認對話

http://labs.abeautifulsite.net/archived/jquery-alerts/demo/

發現

我目前正在使用Yii框架

我有行數據刪除選項每行。點擊刪除鏈接要求確認,並根據用戶輸入刪除該行。

爲此,我正在使用下面的Java腳本代碼。這是工作完美,沒有任何問題

"onclick"=>"if (
      !confirm('Are you sure?\\r\\nYou are going to unregister for this subject.') 
      ) {  return  } 

但現在使用Jquery的對話框上面我沒有找到一個方法來實現酷似以上。 下面是我試過

"onclick"=>"if (
      !jConfirm('Can you confirm this?', 'Confirmation Dialog', 
       function(r) { 
           return r ; 
           } 
        ) 
       ){ return  } " 

但這並沒有幫助,我甚至嘗試了一些其他的可能性太多的代碼。但他們沒有幫助。有人能提供正確的方式來處理上述情況。

或者有其他對話框,可以幫助我爲我的情況..

謝謝

問候

基蘭

我在哪裏調用此

的完整代碼
echo (
      CHtml::ajaxLink(
        'Delete', 
        Yii::app()->createUrl("editcourses/removeCourse"), 
        array(
          "type"=>"POST", 
          "data"=>array(
            "place_type"=>$courses[$i]['course_type'], 
            "place_id"=>$course[$i]['course_code'], 
          ), 
          "success"=>'js:function(data){ }', 
        ), 
        array(
          "onclick"=>" 
           if (!jConfirm('Can you confirm this?', 'Confirmation Dialog', function(r) { 
            return r ; })){return} " 
        ) 
      ) 
    ); 

回答

0

我得到了答案,這裏是

CHtml::ajaxLink(Delete,'','', 
array("onclick"=>"           
    var parObj=$(this).parent().parent(); 
    if (!jConfirm('Are you sure?\\r\\nYou are going to unregister for this course.', 'Confirmation', function(result)     {            if(result){            
    jQuery.ajax(
     {'type':'POST', 
     'data':{'place_type':parObj.attr('place_type'),'place_id':parObj.attr('place_id')}, 
     'url':'index.php?r=editProfile/removeCourse', 
     'cache':false, 
     'success':function(data){ 
      var obj = jQuery.parseJSON(data); 
      $('tr[place_id=\"' + obj.place_id + '\"][place_type=\"' + obj.place_type + '\"]').remove(); 
     } 
     }); 
    } 
    })){return } 

     " 
) 
) 
0

您將無法將其與默認確認對話框完全相同,因爲直到用戶單擊後纔會發生返回,此時已從整體功能返回。

"onclick"=>"jConfirm('Can you confirm this?', 'Confirmation Dialog', 
       function(r) { 
         alert('Confirm equaled ' + r + ': Do Something Here'); 
         // deleteRecord(5); 
           } 
        ); return false;" 
+0

凱文 - 感謝您的答覆,但我的情況是我在Ajaxlink調用它,它調用的行動,並從數據庫中刪除。我在使用的地方提供了額外的代碼。謝謝 – Bujji

+0

你不能像你使用它的方式使用它。你根本做不到。不起作用。這不可能。它需要你停止處理頁面上的所有腳本,這將防止對話框按鈕上的點擊事件做任何事情。我會建議使用瀏覽器附帶的默認內置確認()對話框。 –

+0

謝謝Kevin的快速回復。然後我住這個或改變我的設計..再次感謝 – Bujji