故障保持单选按钮设置


trouble keeping radio button set

我有一些麻烦设置保持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();
       }
      ?>