Я хочу попробовать зависимую выпадающую проверку с использованием библиотеки проверки формы CodeIgniter. Вот некоторая проблема, когда я выбираю штат, после чего в раскрывающемся списке отображается округ, но возникает проблема. Если я нажму кнопку отправки (после перезагрузки страницы), тогда штат сохранит свое значение, но район не может содержать значение округа. Как решить эту проблему. Заранее спасибо.
Контроллер
<?php
class Dependent extends CI_Controller
{
public function index()
{
$this->load->library("form_validation");
if(isset($_POST["submit"]) == "Submit")
{
$this->form_validation->set_rules("state","State","required");
$this->form_validation->set_rules("district","District","required");
$this->form_validation->set_rules("name","Name","required");
if($this->form_validation->run())
{
//success
}
}
$this->load->model("Dependents");
$data["state"] = $this->Dependents->get_state();
$this->load->view("drop",$data);
}
public function district()
{
$this->load->library("form_validation");
$this->load->model("Dependents");
$id = $_POST["id"];
$district = $this->Dependents->get_district($id);
$output = "";
$output .= "<option value=''>Select District</option>";
foreach($district as $row)
{
$output .= "<option value='".$row["id"]."'>".$row["district"]."</option>";
}
echo $output;
}
}
?>
Модель
<?php
class Dependents extends CI_Model
{
public function get_state()
{
return $this->db->get("tbl_state")->result_array();
}
public function get_district($id)
{
return $this->db->where("state",$id)->get("tbl_district")->result_array();
}
}
?>
View
<?php
echo validation_errors();
?>
<form method="post" action="">
<div class="form-group">
<select class="form-control" id="state" name="state">
<option value="">Select State</option>
<?php
foreach ($state as $row) {
?>
<option value="<?php echo $row["id"]; ?>"<?php echo set_select("state", $row["id"]); ?>><?php echo $row["state"]; ?></option>
<?php
}
?>
</select>
</div>
<div class="form-group">
<select class="form-control" id="district" name=district>
<option value="">Select District</option>
</select>
</div>
<div class="form-group">
<input type="text" name="name" placeholder="Enter Name" class="form-control">
</div>
<div class="form-group">
<input type="submit" name="submit" value="Submit" class="btn btn-success btn-sm">
</div>
</form>
<script type="text/javascript">
$(function(){
$("#state").change(function(){
var id = $(this).val();
$.ajax({
url: "<?php echo base_url() . "Dependent/district"; ?>",
type: "POST",
data:{id: id},
success: function(data)
{
$("#district").html(data);
}
});
});
});
</script>