2014-03-03 47 views
3

我想獲取下拉列表的選定值。我必須將這個值作爲第四段傳遞給href。我沒有使用表格,也沒有提交。在我看來,我有:Codeigniter通過選擇下拉列表中的值

<?php for($i=0;$i<count($estimates);$i++) { ?> 
<tr> 
    <td> 
     <span><?php echo $estimates[$i]->id_job; ?></span> 
    </td> 
    <td> 
     <span><?php echo $estimates[$i]->date_of_plans; ?></span> 
    </td> 

    <td> 
     <span><?php echo $estimates[$i]->business_name; ?></span> 
    </td> 

    <td> 
     <span><?php echo $estimates[$i]->job_title; ?></span> 
    </td> 

    <td> 
     <span><?php echo $estimates[$i]->date_estimated_needed; ?></span> 
    </td> 
    <td> 
     <span>JC</span> 
    </td> 
    <td> 
     <select id="status" name="status"> 
      <option value="IN PROGRESS">IN PROGRESS</option> 
      <option value="NOT STARTED">NOT STARTED</option> 
      <option value="AWAITING CLIENT">AWAITING CLIENT</option> 
      <option value="COMPLETE - QC">COMPLETE - QC</option> 
      <option value="COMPLETE">COMPLETE</option> 
     </select> 
    </td> 
    <td style='border:0px none;'> 
    <a id="test" href="<?php echo site_url('frontpage/adminestimates')."/".$estimates[$i]->id_job ?>" class='btn btn-success' style='padding-left:24px; padding-right:24px; padding-top:1px; padding-bottom:1px;border-radius:4px;'>EDIT</a> 
    </td> 
</tr> 
<div id="result"></div> 

<script> 
    $("#test").live("click", function(){  
      $("#result").load($(this).attr("href"));  //result is the div where I have to load the new page. (as im using tabs so have to show page in div. 
     return false; 
    }); 
</script> 

Controller.php這樣

URI->段(3)Echo的被編輯的作業的作業ID。如何獲得URI->段(4):(因爲我有這個值傳遞給模型,然後將其保存到數據庫中,以顯示作業的狀態到客戶端。

public function adminestimates() 
{ 
    echo $this->uri->segment(3); 
//echo $this->uri->segment(4); 
} 
+0

是什麼'URI的價值 - >段(4)'應該是? – anurupr

+0

在下拉列表中選擇的值。 – BinteHava

回答

1

試試這個代碼:

$("#result").load($(this).attr("href")+"/"+$("#status").val()); 

現在你會得到第4段URL

您正在for循環中創建具有相同id和名稱的狀態下拉列表。所以,在ID和名稱中可能存在重複。因此,將您的下拉ID和名稱更改爲唯一。

在你看來是文件,更改選擇如下:

<select id="status_<?php echo $estimates[$i]->id_job;?>" name="status_<?php echo $estimates[$i]->id_job;?>"> 
      <option value="IN PROGRESS">IN PROGRESS</option> 
      <option value="NOT STARTED">NOT STARTED</option> 
      <option value="AWAITING CLIENT">AWAITING CLIENT</option> 
      <option value="COMPLETE - QC">COMPLETE - QC</option> 
      <option value="COMPLETE">COMPLETE</option> 
</select> 

然後a標籤,

<td style='border:0px none;'> 
    <a id="<?php echo $estimates[$i]->id_job;?>" href="<?php echo site_url('frontpage/adminestimates')."/".$estimates[$i]->id_job ?>" class='btn btn-success' style='padding-left:24px; padding-right:24px; padding-top:1px; padding-bottom:1px;border-radius:4px;'>EDIT</a> 
    </td> 

在js代碼:

<script> 
    $("a.btn-success").live("click", function(){ 
      var id = $(this).attr("id"); 
      $("#result").load($(this).attr("href")+"/"+$("#status_"+id).val());  //result is the div where I have to load the new page. (as im using tabs so have to show page in div. 
     return false; 
    }); 
</script> 
+0

我要問一兩件事:在建 <選擇的id = 「狀態」 NAME = 「jobstatus」> <期權價值= 「IP」> <期權價值= 「NS」>未啓動 <選項值= 「AC」>等待客戶 <選項值= 「CQ」> COMPLETE - QC <選項值= 「C」> COMPLETE 無論我在下拉列表中選擇的第四參數會作爲IP (正在進行):(我已經改變了ID和名稱在選擇標籤的名稱。 – BinteHava

+0

什麼是IP?是第三個參數?檢查你的html源碼。我認爲你仍然有命名/ ID問題米問題。每個dropdon必須有不同的id。 –

+0

IP是IN PROGRESS等選項的價值。 NS「NOT STARTED」... 實際上現在有10條工作記錄來自數據庫,所以有10行表格,每行都有下拉菜單。第四個參數只傳遞正確的第一個下拉菜單:( 如果我改變例如第三個下拉菜單爲「等待客戶端」,那麼AC應該作爲第四個參數傳遞,但IP「IN PROGRESS」通過..我不知道爲什麼會這樣發生 – BinteHava