省市级联这东西基本是网注一份,而且基本是全是js写的,js写唯一坏处就是JS无效时不可用,我所说的js无效包括不支持js,js加载未完成或者失败。

为了避免不可用,我曾经跟同事讨论过这样的实现方案。

  1. 默认显示为 input , 没加载完或者XX时,用户也可以填;
  2. js有效时,用select代替掉input;
  3. 如果input里已经有内容,要记得拿给select;
  4. 某些情况可以考虑把第一个直接输出在html上。

还要考虑的问题

  1. input 输入的地址数据的修正与格式(结构)化;
  2. 不能格式化的前端反应。

以前只是想想,最终因为XX原因米完成,今天不小心看到adsense 的注册页面也做了类似的处理。很好很强大。

有些东西,并不是你想得到就一定得做得了,比如某网站全站都不支持html的form提交,哎。

共有 6 条评论

  1. Macji @

    这些东西是要考虑,很多时候,即使考虑了,开发由于时间或者的其他原因不配合你。可用性增加不单单只是前端的事,关键是PM得看到可用性的重要性,但没有数据太少,都是直接忽略。

  2. Andre on Mobile @

    我记得jquery有个东东可以用input模拟select顺带实现自动完成效果

  3. Cat Chen @

    如果有js了,還為什麼要替換成select呢?直接出suggest就好了。用戶可以輸入省份,然後篩選出省內主要城市,用戶也可以直接輸入城市,或者拼音,最終打上input的都是省份加城市的全程。

    • aoao @

      =。= 选在很多时候比较适合懒人,直接让用户输入还要处理数据的有效性。

      • 小蔡 @

        赞成
        很多时候用户使比较懒

    • 雨夜 @

      9494~

      先前模拟了一个别人的效果http://www.pyzy.net/Demo/js_city_and_date_v1/city_and_date.htm

      前几天做一个站点时候,需求方狠不得所有下拉菜单都换成城市输入那样的….

发表评论

(必填)

(必填)