2015-04-23 4 views
0

Как добавить опцию «Пожалуйста, выберите вариант», которая будет отображаться по умолчанию в раскрывающемся списке выбора в форме.Держатель для формы выпадающего списка выберите тип?

Я модифицирую модуль magento, добавляя некоторые новые входные изгибы интерфейса, которые сохраняют его в таблице в базе данных magento. форма работает правильно, сохраняя информацию в базе данных, но всегда показывает первый элемент из массива, используемого для отображения параметров. поэтому, если пользовательский вариант изменяет параметр, тогда массив [0] будет добавлен в базу данных. Я хочу добавить владельца места, который не будет добавлен в базу данных, поэтому он предложит пользователю выбрать опцию.

это информация, которая называется:

$fields[] = array(
     'name'  => 'vehicle_make', 
     'label' => Mage::helper('sublogin')->__('Make'), 
     'required' => true, 
     'type'  => 'select', 
     'style' => 'width:100px', 
     'cssclass' => '', 
     'options' => array ("Acura", "Alfa Romeo","Audi", "BMW", "Buickm", "Cadillac", "Chevrolet", "Chrysler", "Dodge", "FIAT", "Ford", "GMC", "Honda", "Hyundai", "Infiniti", "Jaguar", "Jeep", "Kia", "Land Rover", "Lexus", "Lincoln", "Maserati", "Mazda", "Mercedes-Benz", "MINI", "Mitsubishi", "Nissan", "Porsche", "Ram", "Scion", "Smart", "Subaru", "Suzuki", "Toyota", "Volkswagen", "Volvo", "Yamaha"), 
    ); 

это то, что используется, чтобы показать поле ввода:

if ($formField['type'] == 'select' || $formField['type'] == 'multiselect') 
        { 
         $selectedOptions = $sublogin->getData($formField['name']); 
         $selectedOptions = explode(',', $selectedOptions); 
         ?> 
         <select 
          <?php echo ($formField['type'] == 'multiselect')?"multiple=multiple":""; ?> 
          id="<?php echo $formField['name'] ?>" 
          name="<?php echo ($formField['type'] == 'multiselect')? $formField['name'].'[]':$formField['name'] ?>"> 
         <?php foreach ($formField['options'] as $optionValue => $optionLabel) { 
          $selected = ''; 
          if (in_array($optionValue, $selectedOptions)) 
           $selected = 'selected';        

          echo '<option '.$selected.' value="'.$optionValue.'">'.$optionLabel.'</option>'; 
         } ?> 
         </select> 

vehicle make

+0

вы задаете вопрос о 'select', но вы предоставляете код для' input'? – Sean

+0

@Sean, но разве это не поле выбора? Я сделал ошибку в первых кодах, которые я показал, исправлены сейчас. – Nxlevel

+0

Для выбора окна вы просто поместите первый пункт выпадающего списка в качестве «Выбрать опцию». –

ответ

0

В вашем коде выше

<select 
          <?php echo ($formField['type'] == 'multiselect')?"multiple=multiple":""; ?> 
          id="<?php echo $formField['name'] ?>" 
          name="<?php echo ($formField['type'] == 'multiselect')? $formField['name'].'[]':$formField['name'] ?>"> 
         <?php foreach ($formField['options'] as $optionValue => $optionLabel) { 
          $selected = ''; 
          if (in_array($optionValue, $selectedOptions)) 
           $selected = 'selected';        

          echo '<option '.$selected.' value="'.$optionValue.'">'.$optionLabel.'</option>'; 
         } ?> 
         </select> 

добавить вариант, что по умолчанию перед тем Еогеасп как этот

<select 
          <?php echo ($formField['type'] == 'multiselect')?"multiple=multiple":""; ?> 
          id="<?php echo $formField['name'] ?>" 
          name="<?php echo ($formField['type'] == 'multiselect')? $formField['name'].'[]':$formField['name'] ?>"> 
//added this line of code 
          <option name="please-select" value="100">Please select an option</option> 
         <?php foreach ($formField['options'] as $optionValue => $optionLabel) { 
          $selected = ''; 
          if (in_array($optionValue, $selectedOptions)) 
           $selected = 'selected';        

          echo '<option '.$selected.' value="'.$optionValue.'">'.$optionLabel.'</option>'; 
         } ?> 
         </select> 

Вы можете использовать любое значение и имя для этого. Теперь для его проверки можно использовать javascript.

Надеюсь, это поможет.

Смежные вопросы