city-picker
city-picker copied to clipboard
请问如何在已经加载了city-picker.data.js并且已经执行了$().citypicker();初始化之后再次更换数据
现在city-picker只有中国地区,假如说要使用国外地区,该要如何使用,不能重新加载页面,通过页面上某个地方直接改变city-picker需要的数据并且重新加载.这样的需求能够做到嘛 ? 求大神解答。
将国外的地址按结构维护到ChineseDistricts对象里。
也就是更改window.ChineseDistricts 这个对象
我有试过在firefox的控制台里面修改window.ChineseDistricts,但是好像并没有用,不知道是不是我操作有问题 ,还有就是改变window.ChineseDistricts对象后要不要重新使用$.citypicker()进行初始化 ?
@skjanyou 更改了以后,要重建(销毁、重建)下插件。
@tshi0912 请问有没有选完之后的触发事件?谢谢!
@tshi0912 多谢回答
@tshi0912 作者大神,我今天又用你说的方法试了一下,发现改变window.ChineseDistricts的数据并重建之后的citypicker组件还是之前的那些数据。但是我尝试着改变了一下86里面的数据然后使用$.citypicker(‘reset’)发现省显示的是我的数据了,然后我又使用这种方法依次添加86中的映射, 发现市也可以显示市区了,但就是唯独不能直接替换window.ChineseDistricts这个对象的数据来改变,希望大神看到之后能解释一下这个大概是什么个情况,最好能提供一个解决这个问题的方案哈 , 在此先感谢一下作者大神先。
或者说能不能支持手动选择数据,比如说 $('#city-picker').citypicker( { data: xxx } );
@liyv cp:updated
@skjanyou 你当然不能替换掉ChineseDistricts变量本身,你替换它只是换掉了window. ChineseDistricts这个引用,但你修改ChineseDistricts原对象的数据结构是可以的,这种情况下引用没变,数据会变。这是JavaScript的基本概念。
cp:updated如何使用呀,麻烦告知下。
var $citypicker3 = $('#city-picker3'); $citypicker3.citypicker("destroy"); $("#city-picker3").citypicker({ province: "江苏省", city: "常州市", district: "溧阳市" });
通过jquery动态添加的citypicker,该如何重新初始化呢让这个动态添加的citypicker能正常使用。求告知谢谢~ @tshi0912
@LiuHaiTaoCoder 你是通过jquery动态加载了citypicker的js文件呢?还是调用了$().citypicker() ?
@skjanyou 是jquery动态生成的DOM节点,里面绑定了citypicker的事件。然后我调用了$().ctiypicker(),然而没有效果.