city-picker icon indicating copy to clipboard operation
city-picker copied to clipboard

请问如何在已经加载了city-picker.data.js并且已经执行了$().citypicker();初始化之后再次更换数据

Open skjanyou opened this issue 7 years ago • 15 comments

现在city-picker只有中国地区,假如说要使用国外地区,该要如何使用,不能重新加载页面,通过页面上某个地方直接改变city-picker需要的数据并且重新加载.这样的需求能够做到嘛 ? 求大神解答。

skjanyou avatar May 02 '17 06:05 skjanyou

将国外的地址按结构维护到ChineseDistricts对象里。

tshi0912 avatar May 02 '17 08:05 tshi0912

也就是更改window.ChineseDistricts 这个对象

tshi0912 avatar May 02 '17 08:05 tshi0912

我有试过在firefox的控制台里面修改window.ChineseDistricts,但是好像并没有用,不知道是不是我操作有问题 ,还有就是改变window.ChineseDistricts对象后要不要重新使用$.citypicker()进行初始化 ?

skjanyou avatar May 04 '17 09:05 skjanyou

@skjanyou 更改了以后,要重建(销毁、重建)下插件。

tshi0912 avatar May 08 '17 11:05 tshi0912

@tshi0912 请问有没有选完之后的触发事件?谢谢!

liyv avatar May 10 '17 02:05 liyv

@tshi0912 多谢回答

skjanyou avatar May 12 '17 07:05 skjanyou

@tshi0912 作者大神,我今天又用你说的方法试了一下,发现改变window.ChineseDistricts的数据并重建之后的citypicker组件还是之前的那些数据。但是我尝试着改变了一下86里面的数据然后使用$.citypicker(‘reset’)发现省显示的是我的数据了,然后我又使用这种方法依次添加86中的映射, 发现市也可以显示市区了,但就是唯独不能直接替换window.ChineseDistricts这个对象的数据来改变,希望大神看到之后能解释一下这个大概是什么个情况,最好能提供一个解决这个问题的方案哈 , 在此先感谢一下作者大神先。

skjanyou avatar May 19 '17 08:05 skjanyou

或者说能不能支持手动选择数据,比如说 $('#city-picker').citypicker( { data: xxx } );

skjanyou avatar May 19 '17 08:05 skjanyou

@liyv cp:updated

tshi0912 avatar Jun 21 '17 15:06 tshi0912

@skjanyou 你当然不能替换掉ChineseDistricts变量本身,你替换它只是换掉了window. ChineseDistricts这个引用,但你修改ChineseDistricts原对象的数据结构是可以的,这种情况下引用没变,数据会变。这是JavaScript的基本概念。

tshi0912 avatar Jun 21 '17 15:06 tshi0912

cp:updated如何使用呀,麻烦告知下。

weirui88888 avatar Sep 01 '17 03:09 weirui88888

var $citypicker3 = $('#city-picker3'); $citypicker3.citypicker("destroy"); $("#city-picker3").citypicker({ province: "江苏省", city: "常州市", district: "溧阳市" });

5653325 avatar Sep 21 '20 09:09 5653325

通过jquery动态添加的citypicker,该如何重新初始化呢让这个动态添加的citypicker能正常使用。求告知谢谢~ @tshi0912

LiuHaiTaoCoder avatar Mar 08 '21 02:03 LiuHaiTaoCoder

@LiuHaiTaoCoder 你是通过jquery动态加载了citypicker的js文件呢?还是调用了$().citypicker() ?

skjanyou avatar Mar 17 '21 02:03 skjanyou

@skjanyou 是jquery动态生成的DOM节点,里面绑定了citypicker的事件。然后我调用了$().ctiypicker(),然而没有效果.

LiuHaiTaoCoder avatar Mar 23 '21 02:03 LiuHaiTaoCoder