繁体   English   中英

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

我怎样才能做到这一点 ?

注意:“ Careers和“ Contact pages均具有此结构

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

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

您可以通过这种方式进行。 在网址中,应该有一个“ id”来标识它来自“ contact / apply”链接。您可以通过这种方式进行操作

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

在“联系”控制器的“应用”方法中,它可以检查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'。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM