我有一个PHP表单,其中下拉列表中填充了数据库表中的值。
$options_demande['orderBy'] = array('id_produit' => 'ASC');
$options_demande['items'] = array('produit');
$data['id_produit'] = $this->produit_model->getListCombo('*',null,$options_demande,'Sélectionner un produit');
$options_demande['orderBy'] = array('id_abonnement' => 'ASC');
$options_demande['items'] = array('abonnement');
$data['id_abonnement'] = $this->abonnement_model->getListCombo('*',null,$options_demande,'Sélectionner un abonnement');
getListCombo方法:
public function getListCombo($select = '*', $conditions = array(), $optional = null, $first_line = null)
{
$dropdown = array();
if ($select != null)
$this->db->select($select)->from($this->table);
if (isset($conditions['where']))
$this->db->where($conditions['where']);
if (isset($conditions['where_in']))
$this->db->where_in($conditions['where_in']);
if (isset($conditions['where_or']))
$this->db->or_where($conditions['where_or']);
if (isset($conditions['like']))
$this->db->like($conditions['like']);
if (isset($conditions['like_or']))
$this->db->or_like($conditions['like_or']);
if (isset($optional['orderBy']))
foreach($optional['orderBy'] as $order => $val)
$this->db->order_by($order,$val);
$rs = $this->db->get()->result_array();
if (isset($first_line))
{
if (is_array($first_line))
$dropdown[$first_line['k']] = $first_line['v'];
else
$dropdown[''] = $first_line;
}
foreach($rs as $item){
$liste = null;
foreach($optional['items'] as $item_liste){
$liste .= $item[$item_liste]." ";
$dropdown[$item['id_' . $this->table]] = $liste;
}
}
return $dropdown;
}
问题是我希望其他下拉列表中填充其他表的特定值。
我的下拉代码:
<div class="form-group">
<label class="col-md-2 control-label" for="id_produit"><?php echo lang('produit'); ?><span class="required"> * </span></label>
<div class="col-md-4">
<?php echo form_dropdown('id_produit', $id_produit, null,'class="form-control" required="required"')?>
</div>
</div>
<div class="form-group">
<label class="col-md-2 control-label" for="id_abonnement"><?php echo lang('abonnement'); ?><span class="required"> * </span></label>
<div class="col-md-4">
<?php echo form_dropdown('id_abonnement', $id_abonnement, null,'class="form-control" required="required"')?>
</div>
</div>
我想我必须使用一些javascript,但我不知道该怎么做。
此时另一个表中填充了另一个表的所有值,但我希望例如对于第一个下拉列表的特定值,另一个表填充另一个表的值,其中&#34; type_abonnement&#34; = 1.或2为另一个值。
答案 0 :(得分:0)
是的,您需要使用JavaScript来实现这一目标。
已经有数百个主题,请查看:例如Populating a select box using JQUERY, AJAX and PHP。