jQuery MiniUI

 找回密码
 立即注册
查看: 3605|回复: 4
打印 上一主题 下一主题

combobox 动态加载如何让加载后输入框的值与实际输入的一致 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2020-9-18 17:20:35 |只看该作者 |倒序浏览
我有一个combobox是动态加载数据的,设置了onfocus与onblur,焦点获取时://搜索获取焦点function visualCommandRoadSelectFocus() {
        jTimer.customeEveryTime(1000, "visualCommandRoadSelect", searchPdt);
}
searchPdt里有个请求
function searchPdt(){
  var text = combobox.getText();       
  $.ajax({
        url: encodeURI(url),
        success: function(data) {
                if(data.length > 0) {
                        combobox.setData(data);
                        combobox.setText(text);                                       
                }
        }
  });
}
经常请求完后会改变输入框内的内容,一般会多出一些字符,例如搜索“陈”,输入完后输入框内可能就是“ch陈”。请问要怎样才能保持请求前后输入框内的值不改变?


Rank: 8Rank: 8

沙发
发表于 2020-9-21 09:43:10 |只看该作者
你这ajax是异步的,你跑ajax的时候你又输入内容了吧?
你这只能保存查询前的文本,ajax回调里设置回去了

Rank: 1

板凳
发表于 2020-9-21 13:53:10 |只看该作者
felt 发表于 2020-9-21 09:43
你这ajax是异步的,你跑ajax的时候你又输入内容了吧?
你这只能保存查询前的文本,ajax回调里设置回去了 ...

是的,当输入内容时这里的ajax是每隔1s自动执行的,每次执行完将1s前的输入设置回去,请问有没有什么办法解决这个问题

Rank: 8Rank: 8

地板
发表于 2020-9-21 17:01:34 |只看该作者
fzwen 发表于 2020-9-21 13:53
是的,当输入内容时这里的ajax是每隔1s自动执行的,每次执行完将1s前的输入设置回去,请问有没有什么办法 ...

你是后台搜索的,为什么不用autocomplete?

Rank: 1

5#
发表于 2020-9-24 10:42:29 |只看该作者
felt 发表于 2020-9-21 17:01
你是后台搜索的,为什么不用autocomplete?

因为这是前人实现的,我只是接手做优化和修bug,我去看下autocomplete

Archiver|普加软件

GMT+8, 2024-10-7 20:27 , Processed in 1.047612 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部