CodeIgniter -根据点击的链接从下拉菜单中预选择一个值


CodeIgniter - pre select a value from dropdown based on link clicked

我需要帮助。我有这个链接

<?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选项时,但仅在这种情况下,在任何其他情况下,默认值应该是第一个。

我该怎么做呢?

注意:CareersContact pages都有这个结构

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

基本上有两个不同的控制器

您可以这样做。在url中,应该有一个"id"来标识它来自"contact/apply"链接。你可以这样做

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

在你的'contact'控制器的'apply'方法中,它可以检查id

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"'); ?>

第二种情况

<?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>

在这里包含cv的div将只显示$selected_val='work-with-us'