Can';使用jQuery在CodeIgniter中创建动态相关下拉列表
我正试图使用jQuery在Codeigniter中创建一个动态下拉列表,但我对jQuery非常陌生,它不起作用。用户首先必须选择区域,然后他必须从该区域的schhols下拉列表中进行选择 我的看法是:Can';使用jQuery在CodeIgniter中创建动态相关下拉列表,jquery,html,codeigniter,Jquery,Html,Codeigniter,我正试图使用jQuery在Codeigniter中创建一个动态下拉列表,但我对jQuery非常陌生,它不起作用。用户首先必须选择区域,然后他必须从该区域的schhols下拉列表中进行选择 我的看法是: <html> <head> <script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script> $('#school').hide(); $('
<html>
<head>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script>
$('#school').hide();
$('#region').change(function(){
var region = $('#region').val();
if (region != ""){
var post_url = "/index.php/home/register/" + region;
$.ajax({
type: "POST",
url: post_url,
success: function(school)
{
$('#school').empty();
$('#school').show();
$.each(school,function(school_id,school)
{
var opt = $('<option />');
opt.val(school_id);
opt.text(school);
$('#school').append(opt);
});
}
});
} else {
$('#school').empty();
$('#school').hide();
}
});
</script>
</head>
<?php
echo "<body>";
echo validation_errors();
echo "<div class='container'>";
echo form_open('home/register');
echo "<h3>Register:</h3><br/>";
echo "<table border = '0' >";
echo "<tr><td> Username:* </td><td>";
$data=array(
'name' => 'username',
'class' => form_error('username') ? 'error' : '',
'value' => set_value('username')
);
echo form_input($data);
echo "</td></tr>";
//come code register form -passwords and so on..
echo "<tr><td> Region:* </td><td>";
echo "<select name = 'region' id='region' >";
foreach($regions as $row)
{
echo "<option value= '$row->region '>$row->region</option>";
}
echo "</select>";
echo "</td></tr>";
echo "<tr><td> School:* </td><td>";
echo "<select name = 'school' id='school'>";
foreach($school_show as $row)
{
echo "<option value= '$row->school_name '>$row->school_name</option>";
}
echo "</select>";
echo "</td></tr>";
echo "<tr ><td> Class:* </td><td>";
$options=array(
'8' => '8',
'9' => '9',
'class' => form_error('class[]') ? 'error' : ''
);
echo form_dropdown('class[]',$options);
echo "</td></tr>";
echo "</table><br/>";
$data=array(
'class' => 'btn btn-success ',
'id' => 'reg',
'value' => 'Register'
);
echo form_submit($data);
echo "</form>";
echo "</div>";
echo "</body>";
echo "</html>";
这是我登记表的代码
/*函数showHide(self,show){
如果(显示)
$('.toggle').show();
其他的
$('.toggle').hide();
$(“:radio”).prop('checked',false);
$(self).prop('checked',true);
}*/
$(“#学校”).hide();
$('#region')。更改(函数(){
var region=$('#region').val();
如果(区域!=“”){
var post_url=“/index.php/home/get_schools/”+地区;
$.ajax({
类型:“POST”,
url:post_url,
success:function(school)//我们正在调用响应json数组'cities'
{
$('学校').empty();
$('学校').show();
$。每个(学校、职能(学校id、学校)
{
var opt=$('');//这里我们为每个组创建一个新的选择选项
选择值(学校id);
选择文本(学校);
$(“#学校”)。附加(可选);
});
}
});
}否则{
$('学校').empty();
$(“#学校”).hide();
}
});
表单输入{
宽度:180px;
高度:30px;
}
若你们们的研究中使用的是是他们的本本本本本图图图绘制绘制的绘制绘制绘制的绘制绘制绘制的图图图绘制绘制的绘制绘制绘制绘制的图图绘制绘制的图图绘制绘制绘制的图绘制绘制绘制的图图绘制绘制的图图绘制绘制的图图绘制绘制的图图绘制绘制的图绘制:::
jQuery“在CodeIgniter.JavaScript中”不做任何事情(jQuery)不关心您的框架、PHP或任何服务器端代码。JavaScript在浏览器中运行,因此重要的是浏览器源代码中呈现的内容。向我们显示呈现的HTML标记。我的HTML标记在JavaScript之后出现在视图中。我认为我的注释足够清晰。视图中的HTML不是“呈现的HTML标记”。呈现的标记是浏览器源代码中的输出,不包含任何PHP。
<?php
class Home extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->library('table');
$this->load->library('session');
$this->load->helper('url');
$this->load->database();
}
public function register()
{
if ($this->form_validation->run()==FALSE)
{
$this->signup();
}
else
{
if( $this->user_model->register())
{
$data['dynamic_view'] = 'success_reg';
$this->load->view('templates/main',$data);
}
else
{
$this->load->model('user_model');
$data['dynamic_view'] = 'register_form';
$data['regions'] = $this->user_model->regions_show();
$data['school_show'] = $this->user_model->school_show();
$this->load->view('templates/main',$data);
}
}
}
public function regions_show() {
$this->db->select('region');
$this->db->distinct('region');
$this->db->from('schools');
$result=$this->db->get();
return $result->result();
}
public function school_show() {
$this->db->select('school_name');
$this->db->from('schools');
$result=$this->db->get();
return $result->result();
}