jQuery MiniUI

标题: combobox 动态加载如何让加载后输入框的值与实际输入的一致 [打印本页]

作者: fzwen    时间: 2020-9-18 17:20:35     标题: combobox 动态加载如何让加载后输入框的值与实际输入的一致

我有一个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陈”。请问要怎样才能保持请求前后输入框内的值不改变?



作者: felt    时间: 2020-9-21 09:43:10

你这ajax是异步的,你跑ajax的时候你又输入内容了吧?
你这只能保存查询前的文本,ajax回调里设置回去了
作者: fzwen    时间: 2020-9-21 13:53:10

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

是的,当输入内容时这里的ajax是每隔1s自动执行的,每次执行完将1s前的输入设置回去,请问有没有什么办法解决这个问题
作者: felt    时间: 2020-9-21 17:01:34

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

你是后台搜索的,为什么不用autocomplete?
作者: fzwen    时间: 2020-9-24 10:42:29

felt 发表于 2020-9-21 17:01
你是后台搜索的,为什么不用autocomplete?

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




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2