2012-01-24 99 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