基本上我在视图中有一个表单,启用了一个输入,并禁用了多个输入(仅显示从唯一输入派生的信息)。
现在,我需要将此输入发送到控制器以进行查询,并将包含字段信息的数组发送回视图但不刷新网站(因为我无法在此页面中取消我的进度)
也许解决方法是使用javascript向控制器发送输入字段,并在函数中返回值数组以刷新表单,但是如何?
编辑:抱歉我的英文不好。答案 0 :(得分:0)
var input = $('#input').val();
$.ajax({
type:"POST",
url: <?php echo base_url().'controllername/action'?>
data: {input : input},
success: function(data){
// this data should be contain an arra
$('#where_to_insert_array').html();
}
});
在控制器操作和操作中
功能动作() { $ data = $ this-&gt; input-&gt; post(&#39; input&#39;);
从$ data
制作数组,然后回显它
echo array(); }
答案 1 :(得分:0)
最后,我理解如何动态地将数组从控制器传递给视图,这是代码:
视图javascript:
function getClient(){
if($('#cedula_cliente').val()){
$.ajax({
type : "post",
url: "<?php echo base_url().'index.php/clientes/getClienteFactura'?>",
cache: false,
data : {cedula : $('#cedula_cliente').val()},
success : function(json){
var obj=jQuery.parseJSON(json);
if(obj[0]){
$('#nombre_cliente').val(obj[0].nombre);
$('#apellido1_cliente').val(obj[0].apellido1);
$('#apellido2_cliente').val(obj[0].apellido2);
$('#dir_cliente').val(obj[0].dir);
}else{
alert("Usuario no encontrado");
}
},
});
}else{
alert("Debe ingresar una cédula de usuario");
}
}
我使用obj [0],因为“cedula”是主键,它永远不会返回超过1行。
这是控制器功能:
public function getClienteFactura(){
$cedula = $this->input->post('cedula');
$query = $this->Client_model->getClientByCedula($cedula);
echo json_encode($query);
}
感谢您的回答,也许我应该在谷歌上看起来更好,解决问题的关键是Json。