我有这个Javascript用于依赖下拉列表,问题是,如果我在URL中的函数名称之后放置一个段,它就无法工作。例如:
localhost/Folder/Class/function/data
但是,如果我只放localhost/Folder/Class/function
,它确实完全有效。
我正在使用第3个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();
?>
这就是为什么我需要网址段..
这是我正在使用的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>");
});
}
});
});
});
如果我选择了一个PROVINCE,它会给下一个关于该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上。
答案 0 :(得分:0)
您可以定义您的路线,如下所示,即使网址上还有其他细分,也可以使用它。 本地主机/文件夹/类别/功能/(:任何)