嘿朋友我正在尝试制作两个下拉框。第一个是传感器类型选择。第二个是传感器名称,它应该依赖于第一个。我正在使用MVC架构。这是我正在使用的代码。在viewpage.php我有:
<table>
<td>
<label><b>Sensors Types:</b></label>
</td>
<td>
<?php echo form_dropdown('sensor_types', $sensor_types, '#', 'id="sensor_types" onchange="copy();" ');?>
</td>
<td> </td>
<td> </td>
<td>
<label><b>Sensor Name:</b></label>
</td>
<td>
<?php echo form_dropdown('sensorzs', $sensorzs, '#', 'id="sensorzs"'); ?>
</td>
</tr>
</table>
并且model.php中的代码是
function sensors_list($node_id) {
$this->db->select('sensor_index, sensor_name');
$this->db->where('node_id', $node_id);
//$this->db->where('sensor_type', $sensor_types);
$this->db->order_by('sensor_index');
$query = $this->db->get('node_sensor_dtl');
}
function get_all_sensors($node_id) {
$this->db->select('sensor_pk, sensor_name');
$this->db->where('node_id', $node_id);
$this->db->order_by('sensor_index');
$query = $this->db->get('node_sensor_dtl');
$sensors = array();
if($query->result())
{
$sensors[''] = '-Select-';
foreach ($query->result() as $sensor)
{
$sensors[$sensor->sensor_pk] = $sensor->sensor_name;
}
return $sensors;
}
else {
$sensors = NULL;
return $sensors;
}
}
和node.php中的代码代码是这样的
function edit(){
if($this->CI->input->post('editform_id') == NULL) redirect('configuration/node/');
$view_data['page_title'] = "Node edit details";
$view_data['page_name'] = "";
$view_data['detail'] = $this->CI->model->get_node($this->CI->input->post('editform_id'));
$view_data['sensor_types'] = $this->CI->model->get_all_sensor_types();
$view_data['sensorzs'] = $this->CI->model->sensors_list($this->CI->input->post('editform_id'));
$this->CI->load->view('config_node_view', $view_data);
}
过去几天我试过这个,但可以得到结果。搜索了很多网站和博客但我无法获得所需的结果。
答案 0 :(得分:0)
如果您要创建下拉框,我相信您不应该创建表,而是需要select标记。 我知道这并没有完全回答你的问题,但我相信这应该让你开始。 如果您的PHP代码产生了您想要的结果,请将它们填充到选择标记中并从那里获取。