CHtml :: link确认重复Yii

时间:2011-12-28 11:18:39

标签: php jquery yii jquery-ui-accordion

发现CStarRating导致此错误,如果删除它就会变好。此外,CStarRating会使页面渲染速度极慢,而且还会导致其他jquery插件出现故障

我在Jquery acordin内使用了确认。 acordin的主要标签是Categories,旁边有项目。用户可以删除项目和类别(当然还有不同的表格和模型)。

现在,当我点击删除类别时,它询问是否应该删除.....直到现在一切都很好但是只要我点击取消并且类别中有项目在其面板中确认重复项目的时间数量。以下是我的代码。请帮帮我

关注Image将说明我的意思enter image description here 感谢

<?php
foreach($model->categories as $Category){
        echo  CHtml::link('<span id="add_new_item">Add New Item </span>', array('items/create','id'=>$Category->id));
        echo ' <span id="update_del_category">';
        $image = CHtml::image('/Hunt2Eat/assets/b4e73c2b/gridview/update_item.png', 'Update', array('class' => 'view'));
        echo  'Edit';
        echo  CHtml::link($image, array('category/update', 'id'=>$Category->id));
        $image = CHtml::image('/Hunt2Eat/assets/b4e73c2b/gridview/delete_item.png', 'Delete', array('class' => 'view'));
        echo  ' Delete';
        echo  CHtml::link($image,'#',array('submit'=>array('category/delete','id'=>$Category->id),'confirm' => 'Are you sure you want to delete '.$Category->name.'?'));

    echo  '</span>
          <ul style="width:99%;" id="menu3" class="menu noaccordion">
            <li style="width:100%; ">
                <a href="#" style="color:white; padding:6px 0 6px 5px;">'.$Category->name.'</a>
                    <ul style="width:99%">
                        <div id="item_headings">
                             <label id="item_name"> Name </label>
                             <label id="item_price"> Price (PKR)</label>
                             <label id="item_rating"> Rating </label>
                        </div>';

foreach($Category->items as $Item)
    {
    echo  '<div id="update_del_item">';
    echo   CHtml::link('Edit', array('items/update', 'id'=>$Item->id));
    echo  '</div>
                 <div id="update_del_item">';
    echo  CHtml::link('Delete','#',array('submit'=>array('items/delete','id'=>$Item->id),'confirm' => 'Are you sure?'));
    echo  '</div>
                <li >
                <a href="#" name="Item">
                    <div style="height:20px; width: 360px;">
                        <span id="item_list">'.$Item->name.'</span>
                        <span id="item_list">'.$Item->price.'</span>
                        <span style="float:right;">'.$this->renderPartial('_rating',array('model'=>$model),TRUE,TRUE).'</span>
                    </div>    
                </a>                
            </li>';
}//For Loop to Extract category Items from category Array
    echo 
           '</ul>
        </li>
     </ul>';
}//For Loop to Extract Categories from Hotel array

?>

1 个答案:

答案 0 :(得分:1)

我认为问题来自于jquery的多个事件委托。 对于

echo  CHtml::link('Delete','#',array('submit'=>array('items/delete','id'=>$Item->id),'confirm' => 'Are you sure?'));

Yii框架会给锚一个唯一的id并在html中注册一段javascript(jquery):

jQuery('body').undelegate('#yt0', 'click').delegate('#yt0', 'click', function() {
    if (confirm('Are you sure?')) {
        jQuery.yii.submitForm(this, '/index.php/items/delete/4', {});
        return false;
    } else return false;
});

其中yt0是指定的唯一ID。通常没有问题,因为它首先取消保护。你能查看Yii注册的javascript吗?

相关问题