Мне нужен каскадный выпадающий список, когда я нажимаю на раскрывающийся список, он также меняет другое значение ввода текста пользователем я хочу показать другое значение в поле ввода текста пользователем.
мой стол такой
мое имя таблицы - имя_процедуры * тип 1003 *
id | perant_type_name | base_value
1 type1 10
2 type2 20
3 type3 30
4 type4 40
5 type5 50
я хочу видеть base_value в поле ввода текста пользователем
и в раскрывающемся списке я хочу видеть также Пожалуйста, выберите значение типа родительского имени
public function get_exercise_type_base_value(){
$this->db->select('exercise_parent_type.base_value,exercise_parent_type.id');
$this->db->from('exercise_parent_type');
$query = $this->db->get();
foreach($query->result_array() as $row){
$subcats[$row['id']][] = array("id" => $row['id'], "val" => $row['base_value']);
}
return $subcats;
// return $query->result_array();
}
public function get_exercise_type(){
$this->db->select('exercise_parent_type.*');
$this->db->from('exercise_parent_type');
$query = $this->db->get();
$query->result_array();
foreach($query->result_array() as $row){
$categories[] = array("id" => $row['id'], "val" => $row['perant_type_name']);
}
return $categories;
}
<?php
$db = new mysqli('localhost','root','','godspeed');//set your database handler
$query = "SELECT perant_type_name,id FROM dev_exercise_parent_type";
$result = $db->query($query);
while($row = $result->fetch_assoc()){
$categories[] = array("id" => $row['id'], "val" => $row['perant_type_name']);
}
$query = "SELECT id, base_value FROM dev_exercise_parent_type";
$result = $db->query($query);
while($row = $result->fetch_assoc()){
$subcats[$row['id']][] = array("id" => $row['id'], "val" => $row['base_value']);
}
$jsonCats = json_encode($categories);
$jsonSubCats = json_encode($subcats);
?>
<!docytpe html>
<html>
<head>
<script type='text/javascript'>
<?php
echo "var categories = $jsonCats; \n";
echo "var subcats = $jsonSubCats; \n";
?>
function loadCategories(){
var select = document.getElementById("categoriesSelect");
select.onchange = updateSubCats;
for(var i = 0; i < categories.length; i++){
select.options[i] = new Option(categories[i].val,categories[i].id);
}
}
function updateSubCats(){
var catSelect = this;
var catid = this.value;
var subcatSelect = document.getElementById("subcatsSelect");
subcatSelect.options.length = 0; //delete all options if any present
for(var i = 0; i < subcats[catid].length; i++){
subcatSelect.options[i] = new Option(subcats[catid][i].val,subcats[catid][i].id);
}
}
</script>
</head>
<body onload='loadCategories()'>
<select id='categoriesSelect'>
</select>
<input type="text" id="categoriesSelect" name="base_value" /> <!-- i want to see base_value in user input text field -->
<!--select id='subcatsSelect'>
</select-->
</body>
</html>