0

<option>是否可以使用 CodeIgniter在标签中添加类属性?

<select name='state'>
    <option value="usa" class='top'>USA</option>
    <option value="ny">NY</option>       
</select>

如果没有,如何扩展 Form helper 来支持这个?复杂吗?

4

2 回答 2

0

就我个人而言,我更喜欢不使用助手来完成这些简单的任务......内联 if 语句应该足以满足您的情况。

如果我想动态填充一个标签,我会做这样的事情:

 <?php
   $result; //My result set
 ?>

<select>
 <?php foreach($result as $line): ?>
 <?php $class = ($condition===TRUE)?'this_class':''; ?>
      <option class="<?php echo $class; ?>"><?php echo $line->data; ?></option>
 <?php endforeach; ?>
</select>

现在可能看起来有点乱,但是当你需要它而不是让助手来做的时候,写 HTML 感觉更好。

如果您使用 IDE,它甚至可以帮助您使用 HTML 突出显示,从而可以更好地可视化您的标记,而不会在需要时丢失 php 突出显示:)

于 2012-01-30T17:09:24.107 回答
0

是的,您可以创建自己的助手。请参阅文档中的“扩展助手”。我会按照所说的将“MY_helper.php”版本复制到您的应用程序文件夹中;除非你真的必须这样做,否则不要弄乱核心。

http://codeigniter.com/user_guide/general/helpers.html

您可以使用 values 数组并在数组中设置一个类和项(并在帮助程序中更改第 327 行附近的 foreach)或传递另一个数组并在 foreach 中检查它。

于 2012-01-30T16:16:41.117 回答