Yii - 在一个装有CHtml :: ajaxLink的div里面的CHtml :: ajaxLink

时间:2014-01-20 20:33:08

标签: php jquery ajax yii

我有一个侧栏,里面有10个项目:

foreach(Class::model()->findAll() as $class) { ?>

 <li><?= CHtml::ajaxLink(CHtml::image('http://my.domain.com/' . strtolower($class->name) . '.png') . $class->name, Yii::app()->createUrl('wearable/ajaxUpdate', array('type' => 'class', 'class' => $class->id)), array('update' => '#data'));
}

这将加载10个链接,点击后将其各自的链接发送到:

$this->renderPartial('_ajaxUpdate', $data, false, true);

_ajaxUpdate

if(isset($_GET['class']) && $_GET['type'] == 'class' && is_numeric($_GET['class'])) {
 foreach(ItemClass::model()->findAllByAttributes(array('class_id' => $_GET['class'])) as $itemClass) {
  $item = Item::model()->findByAttributes(array('id' => $itemClass->item_id));

        <div class="gallery-image">
            <?= CHtml::ajaxLink(
                    CHtml::image('http://my.domain.com/images/' . $item->url), Yii::app()->createUrl('item/ajaxUpdate', array('type' => 'item', 'item' => $item->id)), array('update' => '#data'));

        </div><?php
    }
}

现在,除了ajaxLink之外,它的工作非常精彩。它有时会运行此脚本一次,有时是5.有时第一个请求(即使没有点击,也从侧边栏开始)接管第二个请求。

直播网址:

有人有任何想法吗?

1 个答案:

答案 0 :(得分:2)

为您的ajax链接分配一个随机ID。

在你的ajaxLink html选项中输入

array('id' => 'some-name-'.uniqid())