我目前正在codeigniter上创建项目/产品更新表单。要匹配我要编辑的产品,我使用输入选择,它会加载数据库中的所有可用产品。
用户选择产品然后点击提交后,该功能将在更新表单中加载所有产品数据。
问题是,我不知道如何传递输入值变量并以形式获取产品数据而不重新加载页面(因为它当前位于div选项卡上)。
我目前的模特:
function editarProducto()
{
$id = $this->input->post('productoID');;
$this->db->where('id', $id);
$query = $this->db->get('items');
return $query->result();
}
查看(这里我选择" productoID"将从数据库中检索产品,其想法是在选择产品后将valueid发布到模型" editarProducto& #34):
...<form id="SelectProd-form" method="post">
<select id="productoID" name="productoID" class="form-control">
<option value="">Seleccionar</option>
<?php
foreach ($editarID as $key => $value) {
echo "<option value='".$value->id."'>".$value->nombre."</option>";
}
?>
</select>
</div>
<br>
<button id="botonSelectProd" type="submit" class="form-group" name="submit">Seleccionar</button>
</form>
</div>
</div>
<div id="editarProducto">
<form id="editarProducto-form" action="<?php echo site_url('admin/editarProducto'); ?>" method="post">
<div id="msjRegistro" class="login-form-main-message"><?php echo validation_errors(); ?></div>
<div class="form-group">
<label for="nombre" class="cols-sm-2 control-label">Nombre</label>
<div class="cols-sm-10">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-forward fa" aria-hidden="true"></i></span>
<input type="text" class="form-control" name="nombre" placeholder="Ingresa el nombre del producto" value="<?php echo set_value('nombre'); ?>" />
</div>
</div>
</div>
<div class="form-group">
<label for="precio" class="cols-sm-2 control-label">Precio</label>
<div class="cols-sm-10">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-dollar fa" aria-hidden="true"></i></span>
<input type="number" min="0.00" max="100000.00" step="0.01" placeholder="Ingresa el precio en pesos" class="form-control" name="precio" value="<?php echo set_value('precio'); ?>"/>
</div>
</div>
</div>...
答案 0 :(得分:0)
#botonSelectProd
后,您可以使用ajax将#productoID
的.val()中的ID发布到与editarProducto()
交互的控制器函数。< / LI>
$this->input->get('id')
array('field_name_1'=>'field_value_1')
.etc这样的数组来发回JSON响应。 此时您必须重新考虑使用set_value()
和validation_errors()
,因为这些需要重新加载页面。您可以以json形式返回验证错误,并使用json重新填充提交的表单值,但如果您需要的唯一ajax是selectbox,则更有效。