将 jquery 按钮放入 yii 的 clistview 小部件中

发布于 2024-12-09 01:17:03 字数 780 浏览 0 评论 0原文

我试图放置一个按钮,该按钮将与我在 CListView 小部件的“itemView”字段中指定的视图文件中的一些数据一起显示,但我只是获取它或第一个,而不是每个列表项的样式按钮列表项。我在 _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'
));

有什么建议吗?

I am trying to put a button which will be displayed along with some data in the view file I specified in "itemView" field of the CListView widget, but instead of the styled button for every list item, I am just getting it or the first list item. My code in the _view file is:

<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>

and the code for CListView widget is just the bare minimum:

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

any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

睫毛溺水了 2024-12-16 01:17:03

尝试向 CJuiButton 传递一个唯一的 ID,如下所示:

<?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;}',
 ));
?>

问题是,由于所有按钮都具有相同的“名称”(因此“id”),jQuery 仅绑定到第一个按钮。确保每个按钮都有唯一的 ID 应该可以解决此问题,以便 jQuery 能够正确绑定。

Try passing in a unique ID to the CJuiButton, like so:

<?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;}',
 ));
?>

The problem is that since all of your buttons have the same 'name' (and therefore 'id') jQuery is only binding to the first one. Making sure each button has a unique ID should fix this, so jQuery will bind correctly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文