положить кнопки jquery в виджет clistview в yii - PullRequest
3 голосов
/ 06 октября 2011

Я пытаюсь поместить кнопку, которая будет отображаться вместе с некоторыми данными в файле представления, который я указал в поле "itemView" виджета CListView, но вместо стилизованной кнопки для каждого элемента списка я просто получаю ее или первый элемент списка. Мой код в файле _view:

<div id="listView">
<div class="thedata">
  ...some data
</div>

<div id="buttons">
<?php
$this->widget('zii.widgets.jui.CJuiButton', array(
'buttonType'=>'button',
'name'=>'btnJobs',
'caption'=>'Manage Jobs',
'options'=>array('icons'=>'js:{primary:"ui-icon-wrench"}'),
'onclick'=>'js:function(){alert("Manage Jobs clicked."); this.blur(); return false;}',
));
?>
</div>
</div>

и код для виджета CListView - это минимум:

$this->widget('zii.widgets.CListView', array(
    'dataProvider' => $dataProvider,
    'itemView' => '_view'
));

есть предложения?

1 Ответ

5 голосов
/ 06 октября 2011

Попробуйте передать уникальный идентификатор в CJuiButton, например, так:

<?php 
$this->widget('zii.widgets.jui.CJuiButton', array(
  'id'=>'button'.$data->id, // add a unique ID here (could use $index instead of $data->id)
  'buttonType'=>'button',
  'name'=>'btnJobs',
  'caption'=>'Manage Jobs',
  'options'=>array('icons'=>'js:{primary:"ui-icon-wrench"}'),
  'onclick'=>'js:function(){alert("Manage Jobs clicked."); this.blur(); return false;}',
 ));
?>

Проблема в том, что, поскольку все ваши кнопки имеют одинаковое имя (и, следовательно, идентификатор), jQuery толькопривязка к первому.Убедитесь, что у каждой кнопки есть уникальный идентификатор, чтобы это исправить, поэтому jQuery будет связываться правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...