0
我试图达到目标,我不知道我是否采取正确的方式。 我使用Codeigniter在数据库中插入表单数据。我有一个下拉字段,下面的某些输入字段可以根据下拉列表中选择的值显示。下拉菜单和输入字段已链接。我尝试实现这让我需要JSON对象输入字段转换,因为在下拉结果中进行选择后的方式出现这样的:转换json对象到输入字段
[{"name":"NSS"},{"name":"POLIZA"},{"name":"CARNET"}]
我如何转换上面的结果:
<input type="text" name="NSS">
<input type="text" name="POLIZA">
<input type="text" name="CARNET">
以下是我尝试实现它的方式:
I-表格视图。
<form method="post" action="<?php echo site_url('admin/save');?>" >
<div class="form-group">
<label>Seguro médico</label>
<div class="col-sm-6">
<select name="seguro_medico" id="seguro_medico">
<option></option>
<?php
foreach($seguro_medico as $row)
echo '<option value="'.$row->id_ap.'">'.$row->medical_insurance.'</option>';
?>
</select>
</div>
</div>
<div id="seguro_input">
<?php
if (isset($GET_INPUT)) {
foreach($GET_INPUT as $get_input) {
?>
<div class="form-group">
<label><?=$get_input->name;?></label>
<div class="col-sm-6">
<input type="text" name="<?=$get_input->name;?>" >
</div>
</div>
<?php
}
}
?>
</div>
<input type="submit" name="send_citas" value="Send">
</form>
II- JQUERY CODE。
$(document).ready(function() {
$("#seguro_medico").on('change',function(e) {
e.preventDefault();
$.ajax({
url: '<?php echo site_url('admin/get_input');?>',
type: 'post',
data: 'seguro_medico='+$("#seguro_medico").val(),
success: function(data) {
$("#seguro_input").html(data);
}
});
});
});
III-控制器(get_input)。
public function get_input() {
$seguro_medico=$this->input->post('seguro_medico');
$query = $this->model_admin->get_input($seguro_medico);
$data['GET_INPUT'] =$query;
echo json_encode($query);
}
非常感谢你这正是我需要的。但是现在我怎么可以将输入字段名称传递给将表单保存到数据库的控制器呢?像'input1'=> $ this-> input-> post('input1') – Diasline
是的,就是这样。如果您使用POST提交表单,则在您的控制器中,您将为每个输入接收一个帖子变量。 –
我试过像:public function save() { $ save = array( 'seguro_medico'=> $ this-> input-> post('seguro_medico') ) }。我不知道如何发布输入值。 – Diasline