2015-09-10 10 views
0

Хотелось бы помочь. У меня по этой ссылкеCodeIgniter - предварительно выберите значение из раскрывающегося списка по нажатой ссылке

<?php echo anchor('contact#apply', 'Apply for Job'); ?> 

в моей Careers страницы/зрения, которая перенаправляет к Contact, где у меня есть это ниспадающее меню, в моей форме

$reasons = array(
      'request-feedback' => 'I'd like more information please', 
      'request-a-demo'=> 'I want a demo of your services', 
      'work-with-us' => 'I am interested in working for youy company', // * this is the option I'm interested in 
); 
<?php echo form_label('Reason for getting in touch with us', 'reason'); ?> 
<?php echo form_dropdown('reason', $reasons, null, 'class="form-control"'); ?> // * when user applies for job should have the 3rd option pre selected instead of null 
<?php echo form_error('topic'); ?> 

То, что я хотел бы сделать, это когда пользователь нажимает на эту ссылку для перенаправления его в контактную форму и имеет предварительно выбранную опцию work-with-us, , но только в этом случае, в любом другом случае по умолчанию должен быть первый.

Как это сделать?

Примечание: как Careers и Contact pages имеют такую ​​структуру

careers/index // i.e. controller/method 
contact/index 

так basicaly есть два разных контроллера

+0

Возможный дубликат [CodeIgniter select \ _value в форме \ _dropdown] (http://stackoverflow.com/questions/14445982/codeigniter-select-value-in-form-dropdown) –

+0

@Peter Я в основном спрашиваю, как для предварительного выбора значения, только если эта ссылка нажата, а не во всех случаях – Lykos

ответ

1

Вы можете сделать это таким образом. В URL, должно быть «идентификатор», чтобы определить, что он идет от «контакта/применить» link.You может сделать это таким образом

<?php echo anchor('contact/apply?id=contact', 'Apply for Job'); ?> 

в вашем методе «применить» в контроллере «контакт», он может проверить идентификатор

public function apply(){ 
    if(isset($_GET['id'])){ 
    $id=$_GET['id']; 
    if($id=='contact'){ 
     $selected='work-with-us'; 
    } 
    else{ 
     $selected='request-feedback'; 
    } 
} 
else{ 
    $selected='request-feedback'; 
} 

    //the data send to view page 
    $data['selected_val']=$selected; 
    $this->load->view('view_page', $data); 
} 

затем в вашем «view_page» в соответствующем раскрывающемся списке, он может установить выбранное значение

<?php echo form_dropdown('reason', $reasons, $selected_val, 'class="form-control"'); ?> 

Надежда это поможет.

+0

Yeap! Работает! еще одна вещь .. Когда я выбирал опцию «работа с нами», я также показываю поле ввода для загрузки CV, я сделал это с событием jquery 'on.change'. Как я могу отобразить это поле в этот случай тоже? – Lykos

0

Путь ко второму случаю ..

<?php if($selected_val!='work-with-us'){ ?> 
    <script> 
    $(document).ready(function(){ 
     $("#depend_on_select").hide(); 
    }); 
    </script> 
<?php } ?> 

<div id="depend_on_select"> 
    <input type="file" name="cv"> 
</div> 

В здесь ДИВ, которые содержат резюме будет показывать только $ selected_val = «работа-с-нами».