2014-03-13 43 views
0

我有一些麻煩設置保持無線電按鈕檢查。麻煩保持單選按鈕集

通常不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(); 

     } 
     ?> 
+1

快速注 - 只要你有一個內嵌事件像'onclick'或'onchange'這樣的處理程序屬性,您不需要提供前綴'javascript:',因爲它需要腳本內容。 'onclick =「doFoo();」'會工作得很好。 – scunliffe

+0

旁註:'session_start();'加載了嗎? –

+0

是加載session_start –

回答

0

試試這個,你可能需要更改會話值在您的控制器或模型是這樣的:

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(); 

     } 
     ?>