我有一个带有依赖下拉列表的动态页面。说下拉菜单' C'和' D'取决于' B'和' B'取决于' A'当我改变' A'它应该为A' A'进行服务器调用。结果应设置在' B'。然后使用' B'中设置的值它应该再次呼叫服务器并填写“C'和' D' togather。可以有任何数字&像这样的层次。每个请求回复只会告诉我孩子的一切。
这可以通过拥有一个请求队列来正确实现。它会推动A'在队列中。然后将进入成功' jquery ajax的一部分,直到队列变空,当响应到来时,我会在检查队列为空之前在队列中添加子对象。
使用鼠标,这对我来说很好。但是,当我通过键盘键入时,它变得混乱。例如:在下拉列表中' A'我有选择 '选择' ' Ice Land' '印度'和 ' Indoneshia'
当我输入' Indoneshia'快速通过键盘选择“冰地”#39;在按下“我”的同时并发射事件。然后,当关键词' n'印刷机下载选择'印度'并触发相同的事件树等。
我无法在jquery调用上生成异步:false。
我相信在下拉列表中会有一些属性/设置等,我不知道哪些不会立即接受每个按键,但会等到一组键在下拉变化之前一起进入。或者我应该采用的任何其他逻辑?
赞赏任何类型的建议......
谢谢&问候 Binesh
答案 0 :(得分:1)
我认为您可能正在寻找的是一种去除异步调用的方法。以下是有关去抖动的一些信息:https://davidwalsh.name/javascript-debounce-function