有这样一个web页面,要完成的功能如下:

一个下拉框形式的学校列表,如果用户没找到自己的学校,允许用户自己添加

使用ajax实现学校添加功能,使用post方法提交新学校名称,然后判断返回结果success,没有问题

然后,我想自动刷新下拉框,并且选中新添加的学校,有点小问题

1、学校下拉框也是使用ajax加载刷新的,如果判断提交学校成功后,延时等待一段时间,再选中下拉框新学校,不太好

2、学校下拉框其实是个级联列表,上一级还有城市等,使用的是第三方的插件,尽量不要改动,不便改用同步ajax和函数回调

最后想了一个小技巧,改动少,不影响用户体验,如下:

post提交学校,返回success,说明服务器端已成功添加新学校(前提)

直接在当前“旧”的下拉框中添加新学校,并选中(无等待时间)

触发学校下拉框的上级城市下拉框change事件(第三方插件会自动刷新学校下拉框,选中项保持不变!)

相应代码(jQuery):

$("#id_school").append("<optin value="+data.schoolid+">"+data.schoolname+"</option>");

$("#id_school").val(data.schoolid);

$("#id_city").trigger('change');

 

posted on 2013-08-08 21:28  你这种人  阅读(132)  评论(0编辑  收藏  举报