CodeIgniter - 根据点击的 link 从下拉列表中预先 select 一个值
CodeIgniter - pre select a value from dropdown based on link clicked
我需要一些帮助。我有这个 link
<?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'); ?>
我想做的是当用户点击 link 将他重定向到联系表单并预先选择 work-with-us
选项时, 但仅在这种情况下,在任何其他情况下,默认值应该是第一个。
我该怎么做?
注:Careers
和Contact pages
都是这种结构
careers/index // i.e. controller/method
contact/index
所以基本上有两个不同的控制器
你可以这样操作。在url里面应该有一个'id'来标识它来自'contact/apply' link.You可以这样
<?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'.
我需要一些帮助。我有这个 link
<?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'); ?>
我想做的是当用户点击 link 将他重定向到联系表单并预先选择 work-with-us
选项时, 但仅在这种情况下,在任何其他情况下,默认值应该是第一个。
我该怎么做?
注:Careers
和Contact pages
都是这种结构
careers/index // i.e. controller/method
contact/index
所以基本上有两个不同的控制器
你可以这样操作。在url里面应该有一个'id'来标识它来自'contact/apply' link.You可以这样
<?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'.