2016-12-22 7 views
0

私はとてもうまくやっていて、私はcakephp 3を学んでいると思います。私は、各セレクタオプションとカスタムクラスにカスタム属性を追加する際に問題があります。Cakephp 3 - カスタムクラスとカスタムアトリビュートを持つデータベースの選択オプション。

私が今持っていることはこれです:

コントローラ

// Insercion datos EspMunicipios 
    $this->loadModel('EspMunicipios'); 
    $camping = $this->EspMunicipios->CampingInfos->newEntity(); 

    // EspMunicipios 
    $ResultMunicipio = $this->EspMunicipios->find('all', 
             array(
              'fields'=>array('id','municipio','id_provincia'), 
              'order' => ['EspMunicipios.municipio' => 'ASC'] 
              )); 

    $row_options_municipios = array(); 
    $row_data_id_provincia = array(); 
    foreach($ResultMunicipio->toArray() as $key => $val){ 
     $row_options_municipios[$val['id']] = $val['municipio']; 
    } 

    $this->set('ResultMunicipio', $row_options_municipios); 

    // Fin EspMunicipios 

ビュー

echo $this->Form->select('id_municipio',$ResultMunicipio); 

編集(結果を追加):

<option value="6537">Ababuj</option> 

そして、何私がやりたいことは、この(私はフレームワークなしでこれをやった)です:私はしたいと思い

<select class="form-control" id="municipio" name="municipio" disabled="disabled"> 

       <?php 
       echo '<option value="0" selected="selected">Seleccione un municipio</option>'; 
       while ($line = $R_Municipios->fetch_row()) { 
        echo "<option class='hide' id='option_municipio' prov=".$line[2]." value=".$line[0].">"; 
        echo $line[1]; 
        echo "</option>"; 
       } 

       // Liberar resultados 
       $R_Municipios->free(); 
       ?> 
      </select> 

結果

<option class="hide" id='option_municipio' prov="3" value="6537" >Ababuj</option> 

カスタム属性 "prov"または "data-prov"も、各オプションとカスタムIDに "hide"クラスを割り当てます。すべての結果がjqueryによって制御され、hideクラスが変更されて表示されるため、これを行います。

各セレクタオプションにカスタム属性とカスタムクラスを追加する方法を知りたいと思います。どうもありがとうございます。

答えて

1

私はすでに解決策を見つけました申し訳ありませんが、ここで私は誰かを助けるために投稿します。

コントローラ

// Insercion datos EspMunicipios 
    $this->loadModel('EspMunicipios'); 
    $camping = $this->EspMunicipios->CampingInfos->newEntity(); 

    // EspMunicipios 
    $ResultMunicipio = $this->EspMunicipios->find('all', 
             array(
              'fields'=>array('id','municipio','id_provincia'), 
              'order' => ['EspMunicipios.municipio' => 'ASC'] 
              )); //or whatever conditions you want 

    $row_options_municipios = array(); 
    foreach($ResultMunicipio->toArray() as $key => $val){ 

     $row_options_municipios[$val['id']] = array('text' => $val['municipio'], 'value' => $val['id'], 'class' => 'hide', 'data-prov' => $val['id_provincia'], 'id' => 'option_municipio'); 
    } 

    $this->set('ResultMunicipio', $row_options_municipios); 

    // Fin EspMunicipios 

ビュー

echo $this->Form->input('id_municipio',array(
    'type' => 'select', 
    'options' => $ResultMunicipio 
    )); 

結果

<option value="6537" class="hide" data-prov="44" id="option_municipio">Ababuj</option> 
関連する問題