2011-07-20 12 views
1

対応する値と番号のリストを選択します。 しかし、オプション値は0から始まります。CakePHPは私が私が生成する選択リストを持っている

<select name="data[Contact][number_of_vehicles]" id="ContactNumberOfVehicles"> 
<option value="">Select...</option> 
<option value="0">1</option> 
<option value="1">2</option> 
<option value="2">3</option> 
<option value="3">4</option> 
<option value="4">5</option> 
<option value="5">6</option> 
<option value="6">7</option> 
<option value="7">8</option> 
<option value="8">9</option> 
<option value="9">10</option> 
</select> 

オプションタグ間のテキストに対応する値はどのように取得されますか。 私はJavaScriptの問題を回避することができますが、それは理想的ではありません。 もちろん、普通のPHPを使って普通のHTMLを使っても簡単です。

これを行うにはどうすればよいですか?

答えて

9

CakePHPは、PHPまたはPHPの拡張機能です。 OPTIONSは、あなたが探しているものが出力である限り、PHP配列関数をとります。

具体的な必要性のために、私はarray_combine PHP関数を提案します。次のようにあなたはそれを設定することができます

echo $this->Form->input(
      'number_of_vehicles', 
      array(
       'empty' => 'Select...', 
       'type' => 'select', 
       'options' => array_combine(range(1,10,1),range(1,10,1)) 
      ) 
); 

あなたにCakePHPはその後、魔法のフォームに含まれる次の配列を与えるだろうと:

Array 
(
    [1] => 1 
    [2] => 2 
    [3] => 3 
    [4] => 4 
    [5] => 5 
    [6] => 6 
    [7] => 7 
    [8] => 8 
    [9] => 9 
    [10] => 10 
) 

をそしてCakePHPは、次のHTMLコードを生成します:

... 
<option value="">Select...</option> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
<option value="10">10</option> 
... 

幸運を祈る!

+0

賢い、ありがとう。 – Manu

+0

問題ありません..... –

+1

優秀、あなたは私の人生を保存しました(Y) – TommyDo

関連する問題