我有一个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,但我不知道怎么做。
此时,另一个是用另一个表的所有值填充的,但我希望,例如,对于第一个下拉列表的特定值,另一个是用另一个表的值填充的,其中"type_abonnement“= 1。或者2表示其他值。


发布于 2016-05-27 20:59:44
是的,您需要使用JavaScript来实现这一点。
已经有成百上千的关于这方面的主题了,请查看:例如Populating a select box using JQUERY, AJAX and PHP。
https://stackoverflow.com/questions/37484088
复制相似问题