我有這個用於從屬下拉的Javascript,問題是,如果我在URL中的函數名稱後面加上一個段,它不起作用。例如:當URL有額外的段時,JavaScript不工作(CodeIgniter)
localhost/Folder/Class/function/data
,但如果我只是把localhost/Folder/Class/function
,它不完全工作。
我使用了更新功能的第三URI段:
首先,我有我的數據表此按鈕可顯示的信息
<a href = "<?php echo base_url(); ?>Employees/allinfo/'.$info->ID_NUM.'" class = "btn btn-sm btn-primary pull-left fa fa-question-circle" title="Show Personal Information"> Personal Info</a>
那麼當信息顯示,我有一個更新按鈕
<a href = '<?php echo base_url().'Employees/updatepersonalinfo/'.$data; ?>' class = 'btn btn-sm btn-info pull-right fa fa-edit'>  Update</a>
形式現在導致這個續輥,
public function updatepersonalinfo(){
$data['content'] = $this->Employees_Model->personalinfo();
$data['content1'] = $this->Employees_Model->nationality();
$data['content2'] = $this->Employees_Model->provinces();
$data['content_view'] = 'Employees/edit_personalinfo';
$this->templates->admin_template($data);
}
的personalinfo模型具有此查詢
"SELECT * FROM employees WHERE ID_NUM = '".$this->uri->segment(3)."'";
將打開這種形式
<?php
echo form_open('Employees/updatepinfo/'.$this->uri->segment(3));
?>
*some input field
<?php
echo form_close();
?>
這就是爲什麼我需要的URL段..
這裏是我正在使用的Javascript:
jQuery(document).ready(function(){
$("#PROV_ID").change(function() {
var PROVID = {"PROVID" : $('#PROV_ID').val()};
console.log(PROVID);
$.ajax({
type: "POST",
data: PROVID,
url: "<?php base_url(); ?>Employees/dependent_dropdown",
success: function(data){
var select = $('#CT_ID');
select.html('');
$.each(data, function(i, option){
select.append("<option value='"+option.CT_ID+"'>"+option.CITY+"</option>");
});
}
});
});
});
,如果我選擇一個省,它會給值關於對procince城市的下一個下拉菜單。(相關下拉列表),它會導致該控制器,
public function dependent_dropdown()
{
if(isset($_POST['PROVID']))
{
$data = $_POST['PROVID'];
$this->output
->set_content_type("application/json")
->set_output(json_encode($this->Employees_Model->getType($data)));
}
}
,這一完全正常工作,而不額外的網址段。但當我在網址上添加另一個細分時無效。或者即使我只向網址添加/
。
此前,我仍然沒有依賴下拉菜單時,此功能完全正常。要清楚的是,問題只出現在下拉式jQuery和URL上。
你在哪裏使用SELECT查詢? $ this-> uri-> segment(3)應該始終具有相同的值,不管你在../ function/data後面有什麼...如果你需要這個uri段來更新數據庫,並且你是從模型中完成的,最好是將這個uri段放在同一個javascript部分,並將它作爲ajax中的數據傳遞。 –
我在模型上使用它。我使用它來獲取我正在更新的數據的值 –
嘗試在js .change函數中查看它。你可以將它作爲var id ='<?php echo $ this-> uri-> segment(3);?>'並在..../Employees/dependent_dropdown函數中使用此ID將其發送到模型。 –