jquery实现的省市区三级联动

前端技术 2023/09/09 JavaScript

省市级联动,附使用示例和数据表数据

有部分数据精确到乡镇一级!!!

Git 地址:http://git.oschina.net/upliu/province-city-district

演示代码:

<!DOCTYPE html>
<html>
<head lang=\"en\">
  <meta charset=\"UTF-8\">
  <title>省市区三级联动</title>
</head>
<body>
<form method=\"post\" action=\"post.php\">
  <div id=\"area\"></div>
  <input type=\"submit\" style=\"margin-top: 10px;\">
</form>
<script src=\"jquery-2.1.3.min.js\"></script>
<script src=\"area.js\"></script>
<script>
  $(function(){
 
    add_select(0);
 
    $(\'body\').on(\'change\', \'#area select\', function() {
      var $me = $(this);
      var $next = $me.next();
      /**
       * 如果下一级已经是当前所选地区的子地区,则不进行处理
       */
      if ($me.val() == $next.data(\'pid\')) {
        return;
      }
      $me.nextAll().remove();
      add_select($me.val());
    });
 
    function add_select(pid) {
      var area_names = area[\'name\'+pid];
      if (!area_names) {
        return false;
      }
      var area_codes = area[\'code\'+pid];
      var $select = $(\'<select>\');
      $select.attr(\'name\', \'area[]\');
      $select.data(\'pid\', pid);
      if (area_codes[0] != -1) {
        area_names.unshift(\'请选择\');
        area_codes.unshift(-1);
      }
      for (var idx in area_codes) {
        var $option = $(\'<option>\');
        $option.attr(\'value\', area_codes[idx]);
        $option.text(area_names[idx]);
        $select.append($option);
      }
      $(\'#area\').append($select);
    };
  });
</script>
</body>
</html>

以上所述就是本文给大家分享的全部内容了,希望大家能够喜欢。

本文地址:https://www.stayed.cn/item/23793

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。