Codeigniter Pass选择href中下拉列表的值

时间:2014-03-03 08:10:10

标签: php codeigniter

我想获取下拉列表的选定值。我必须将href中的值作为第4段传递。我没有使用表格,也没有提交。在我的观点中,我有:

<?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-&gt; segment(3)echo是编辑的作业的作业ID。如何获取uri-&gt;段(4):(因为我必须将此值传递给模型,然后将其保存到数据库以向客户端显示作业的状态。

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

2 个答案:

答案 0 :(得分:1)

试试这段代码:

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

现在你将在网址中获得第4段。

您正在for循环中创建具有相同ID和名称的状态下拉列表。因此,id和name中可能存在重复。因此,请将您的下拉列表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>

答案 1 :(得分:0)

看看这个jquery each function

如果你在元素上放置一个监听器,那么你可以拉取它的数据