2015-12-18 37 views
1

CodeIgniter 3的set_select函數始終在單擊編輯某個現有項目時選擇任何select輸入的最後一個選項。set_select()將每個選項標記爲選中

我將只顯示前兩個select秒,這低於:

<div class="form-group col-md-6"> 
    <label for="id_marca">Marca do Carro</label> 
    <select id="id_marca" name="id_marca" class="form-control" required> 
     <option value="" selected disabled>Selecione</option> 
     <?php foreach ($marcas as $m) { ?> 
      <option value="<?php echo $m['id']; ?>" <?php echo set_select('id_marca', $m['id'], true); ?>> 
       <?php echo $m['nome_marca']; ?> 
      </option> 
     <?php } ?> 
    </select> 
</div> 
<div class="form-group col-md-6"> 
    <label for="id_modelo">Modelo do Carro</label> 
    <select id="id_modelo" name="id_modelo" class="form-control" required> 
     <option value="" selected disabled>Selecione</option> 
     <?php foreach ($modelos as $m) { ?> 
      <option value="<?php echo $m['id']; ?>" <?php echo set_select('id_modelo', $m['id'], TRUE); ?>> 
       <?php echo $m['nome_modelo']; ?> 
      </option> 
     <?php } ?> 
    </select> 
</div> 

下面是問題的一個屏幕截圖。正如在檢查員中可以看到的那樣,每個option都被選中。

enter image description here

我做它的工作,前幾天,如今奇蹟般地不工作了。

回答

1

與您的代碼,你把真實作爲第三個參數中的所有選項的

set_select的問題(「第一個參數是名稱」,「第二個參數的值將是」,「第三個參數將是「真/假」,這使這個值來選擇或不')

我認爲你需要看看this

UPDATE

$options = array(
        'small' => 'Small Shirt', 
        'med' => 'Medium Shirt', 
        'large' => 'Large Shirt', 
        'xlarge' => 'Extra Large Shirt', 
       ); 

$shirts_on_sale = array('small', 'large'); 

echo form_dropdown('shirts', $options, 'large'); 

// Would produce: 

<select name="shirts"> 
<option value="small">Small Shirt</option> 
<option value="med">Medium Shirt</option> 
<option value="large" selected="selected">Large Shirt</option> 
<option value="xlarge">Extra Large Shirt</option> 
</select> 

你可以看到this

對此深感抱歉

更新2

<select name="myselect"> 
<option value="one" <?php echo set_select('myselect', 'one', TRUE); ?> >One</option> 
<option value="two" <?php echo set_select('myselect', 'two'); ?> >Two</option> 
<option value="three" <?php echo set_select('myselect', 'three'); ?> >Three</option> 
</select> 
+0

我以爲笨會自動驗證它。這很奇怪,因爲我已經這樣做了,而且我確信在編輯選項時正確選擇了這些選項。 – mfgabriel92

+0

那麼如何檢查該字段是否被選中? CI可能會更聰明。 – mfgabriel92

+0

CI會做任何事情直到它做,所以你需要指定你需要選擇哪個選項 –

相關問題