CodeIgniter额外选项值

时间:2013-03-18 15:23:14

标签: php codeigniter

我一直在拉我的头发,因为上帝知道要花多长时间才能解决这个问题。

目前我有一个像这样的选择列表(form_dropdown)。

<select name="starters">
<option value="">Please Select</option>
<option value="0" >Brochettes</option>
<option value="1" >Grilled mackerel</option>
<option value="2" >Risotto cake</option>
<option value="3" >Calamari rings</option>
<option value="4">Parma ham parmesan</option>
</select> 

我需要做的是传入此form_dropdown是一个价格值,所以我可以在网站上有一个动态价格计算器。

<select name="starters">
<option value="" price="100">Please Select</option>
<option value="0" price="22">Brochettes</option>
<option value="1" price="342">Grilled mackerel</option>
<option value="2" price="42">Risotto cake</option>
<option value="3" price="52">Calamari rings</option>
<option value="4" price="22">Parma ham parmesan</option>
</select> 

我有什么方法可以做到这一点?我真的陷入死线,我认为在代码点火器中这是可能的。

我的代码到目前为止,您可以看到我有价格,但我需要将其传递给选项。

            echo form_label("APPETISERS", "appetisers");
            $array = array();
            foreach($appertisers as $row ){
                 $array[] = $row->product;
                 $price[] = $row->price;
            }
            $array = array_merge(array('' => 'Please Select'), $array);
            echo form_dropdown('appetisers',  $array);

2 个答案:

答案 0 :(得分:1)

我不知道如何使用codeingiter form_label来做到这一点,主要是因为我没有使用form_helper来创建输入。

通常我这样做:

<select name="starters">
  <option value="">Please Select</option>
  <?php foreach($appertisers as $row ):?>
  <option value="<?=$row->id?>" data-price="<?=$row->price?>"><?=$row->product?></option>
  <?php endforeach;?>
</select>

我已将您的价格属性命名为data-price,这样您就可以使用这样的数据函数:

var price_value = $('select[name="starters"] option:selected').data('price');

您可以在此处详细了解数据属性http://api.jquery.com/data/和此处http://html5doctor.com/html5-custom-data-attributes/

答案 1 :(得分:0)

您可以完全按照示例中的说明进行操作。您可以使用jQuery提取所选元素的价格。

请参阅:http://api.jquery.com/attr/