CHtml :: ссылка Подтвердить повторяет Yii - PullRequest
1 голос
/ 28 декабря 2011

НАЙДЕНО, ЧТО CStarRating вызывает эту ошибку, если она была удалена, то все в порядке. Также CStarRating делает рендеринг страницы чрезвычайно медленным, а также вызывает сбой других плагинов jquery

У меня естьиспользуется подтверждение внутри Jquery acordin.основные вкладки acordin Categories и в стороне есть Items.Пользователь может удалять как Предметы, так и Категории (конечно, разные таблицы и модели).

Теперь, когда я нажимаю на удаление категории, он спрашивает, следует ли удалять или нет ..... До сих пор все в порядке, но покаЯ нажимаю «Отмена», и категория имеет «Элементы» на панели «Подтверждение», повторяется в течение определенного количества элементов.ниже мой кодПожалуйста, помогите мне

После 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 Ответ

1 голос
/ 29 декабря 2011

Я думаю, что проблема заключается в нескольких событиях делегирования jquery.Для

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

платформа Yii предоставит якору уникальный идентификатор и зарегистрирует фрагмент javascript (jquery) в html как:

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 - назначенный уникальный идентификатор.Обычно проблем нет, так как сначала происходит отмена подписи.Можете ли вы проверить JavaScript, зарегистрированный Yii?

...