我试图将包含数组的隐藏输入类型发送到我的jquery load(函数)但是我无法使其工作
table_planner.php
foreach($category->result() as $c){
<input type="hidden" name="tname[]" id="tname[]" value="<?php echo $c->name;?>" />
}
<div id="planner">
<!--load content goes here-->
</div>
的script.js
var tname = $("#tname").val();
console.log(tname);
$('#planner').load(base+"site/table_planner/"+tname)
控制器
public function table_planner($tname="")
{
if($tname){
$data['category'] = $this->site_model->get_category();
}
else{
$data['category'] = $tname;
}
$this->load->vars($data);
$this->load->view("site/ajax/table_planner");
}
我想要发生的是
问题开始于我的script.js无法获取我的隐藏输入值的值,因为console.log(tname)表示它未定义但是如果我在table_planner.php中回显它的值它包含一个值< / p>
有办法做到这一点吗?
答案 0 :(得分:1)
tname[]
是什么?
html中的ID为tname[]
:
<input type="hidden" name="tname[]" id="tname[]" ...
但你的js是#tname
:
var tname = $("#tname").val();
console.log(tname);
将html中的id
更改为tname
:
<input type="hidden" name="tname[]" id="tname" value="<?php echo $c->name;?>" />
更新以传递整个数组
$tname = '';
foreach($category->result() as $c){
$tname .= '&tname[]=' . $c;
}
// $tname will be like &tname[]=cake&tname[]=food...
将其设为html:
<input type="hidden" name="tname" id="tname" value="<?php echo $tname;?>" />
在js中,调用网址base+"site/table_planner/"
var tname = $("#tname").val();
console.log(tname);
$('#planner').load(base+"site/table_planner/?"+tname)
在网址base+"site/table_planner/"
中,必须有一个php文件来处理请求:
var_export($_GET);
您会看到tname
是一个数组。