三级联动 让数据拼接 显示到p标签

Original 2019-04-26 16:16:01 315
abstract:<!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>作业提示:  
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>作业提示:  三级联动菜单</title>
</head>
<body>
省 <select name="" id="pro"></select>
市 <select name="" id="city"></select>
区 <select name="" id="area"></select>
<p id="addr"></p>
<script src="../static/jquery.js"></script>
<script>
 $(function(){
        $.getJSON('inc/1.json',function(data){
            let option = '<option value="">选择(省)</option>';
 $.each(data,function(i){
                option += '<option value="'+data[i].proId+'">'+data[i].proName+'</option>';
 });
 $('#pro').html(option);

 });
 $('#pro').change(function(){
            //查看当前选择中元素内容
 console.log($(this).find(':selected').text());
 $('#addr').html($(this).find(':selected').text());
 $.getJSON('inc/2.json',function(data){
               let option = '<option value="">选择(市)</option>';
 $.each(data,function(i){
                    if (data[i].proId == $('#pro').val()) {
                        option += '<option value="'+data[i].cityId+'">'+data[i].cityName+'</option>';
 }
                });
 $('#city').html(option);
 });
 });
 $('#city').change(function(){
            //查看当前选择中元素内容
 console.log($(this).find(':selected').text());
 var a=$('#pro').find(':selected').text();
 $('#addr').html(a+$(this).find(':selected').text());
 $.getJSON('inc/3.json',function(data){
                let option = '<option value="">选择(县区)</option>';
 $.each(data,function(i){
                    if (data[i].cityId == $('#city').val()) {
                        option += '<option value="'+data[i].areaId+'">'+data[i].areaName+'</option>';
 }
                });
 $('#area').html(option);
 });
 });

 $('#area').change(function(){
            //查看当前选择中元素内容
 console.log($(this).find(':selected').text());
 var a=$('#pro').find(':selected').text();
 var b=$('#city').find(':selected').text();
 $('#addr').html(a+b+$(this).find(':selected').text());
 });

 //思考: 如何将获取到的内容,及时的回显到页面中,动态的提示用户当前的选择内容,实现数据绑定
 })
</script>
</body>
</html>

总结

1;用getJson获取服务器上的json数据

2;分级拿到select里面,用option拼接

3:var a=$('#pro').find(':selected').text();用代码找到选择的那个地区

然后拼接到一起。动态显示到p标签里面。

不知道可以不可以声明全局变量。因为有重复代码。

Correcting teacher:天蓬老师Correction time:2019-04-27 17:37:05
Teacher's summary:变量是为项目服务器, 尽管要尽可能避免声明全局变量, 但是如果全局变量可以极大的简化代码, 不妨声明一个, 总之浏览器不差你这一个变量

Release Notes

Popular Entries