我有一些麻烦设置保持RADIO BUTTON检查。
通常没有CI,我做到了:
<input name="type" value="1" checked="checked" type="radio" onChange="this.form.submit();"/>
Offer
<?php
if( !empty($_SESSION['type']) && $_SESSION['type'] == 2 )
{
echo "<input type='"radio'" name='"type'" value='"2'"
checked = '"checked'" onChange='"this.form.submit();'" />";
}else{
echo "<input type='"radio'" name='"type'" value='"2'"
onChange'"this.form.submit();'"
/>";
}
?>
Search
然后我用了一个条件:
if(!empty($_SESSION['type']) && $_SESSION['type'] == 1)
{
dosomthing()
}
我试了一下,发现有两个问题。
1-我使用Onchange方法来刷新页面,但它实际上发送表单。(当我不使用CI时,这不会发生)
2-当我选择搜索电台,它不会停留在那里,它回到第一个电台。
这就是我所做的。
<?php echo form_radio('type', '1', TRUE, 'onChange="this.form.submit();"'); ?>
Offer
<?php
if( $this->session->userdata('type') && $this->session->userdata('type') == 2 )
{
echo form_radio('type', '2', TRUE, 'onChange="this.form.submit();"');
}else{
echo form_radio('type', '2', FALSE, 'onChange="this.form.submit();"');
}
?>
Search
<?php
if(($this->session->userdata('type')) && $this->session->userdata('type') == 1)
{
dosomething();
}
?>
试试这个,你可能需要在你的控制器或模型中像这样改变会话值:
if($this->input->post("type") && $this->input->post("type")==2){
$this->session->set_userdata('type', 2);
}
else{
$this->session->set_userdata('type', 1);
}
里面的观点:
<?php
if( $this->session->userdata('type') && $this->session->userdata('type') == 2 )
{
echo form_radio('type', '2', TRUE, 'onchange="this.form.submit();"');
}else{
echo form_radio('type', '2', FALSE, 'onchange="this.form.submit();"');
}
?>
Search
<?php
if(($this->session->userdata('type')) && $this->session->userdata('type') == 1)
{
dosomething();
}
?>