【问题标题】:refresh select after Ajax load option called on click of select在单击选择时调用 Ajax 加载选项后刷新选择
【发布时间】:2012-10-11 04:09:40
【问题描述】:

在研究这台自动取款机时运气不佳。在移动 jquery 上很多,但不是标准的。

基本上,我有一个标准选择列表,其中包含一些 php 加载选项。我正在做的是当用户单击选择时,它会调用一个 ajax 请求,该请求会根据其他变量将额外的选项加载到选择菜单中。很简单,但是选择菜单不会重新加载列表,直到菜单重新聚焦(单击关闭然后再次打开)。

我已经尝试过.selectmenu('refresh', true);.trigger('refresh');,但我不认为这就是这些函数的用途,你可以猜到它不起作用。

任何想法或任何人解决了这个问题?我确定我在其他带有加载符号的网站上看到过这样做,但我猜这可能不是选择,而是某种定制的 UL。

我不能让我的用户单击菜单只是为了将其关闭并再次单击,并且不想在单击单独按钮时加载 ajax,因为这应该是一个快速功能。

设置变量时我也无法加载它。

【问题讨论】:

  • 菜单刷新工作也许你的ajax是问题所在。发布所有代码。见这里:http://jsfiddle.net/HVahC/
  • 不,不能是 ajax,因为我只测试了使用虚拟数据和 jquery 附加 $('#selectbox').click(function() { $this = $(this); setTimeout(function(){$this.append('<option>Test Success</option>').trigger('refresh');},4000); }); 的更新,如果我单击选择并等待下拉菜单不会填充测试数据,直到我单击按照我的问题中所述,关闭然后单击它。请正确阅读,我不是一个菜鸟。
  • 编辑-虽然我忘记检查 Xbrowser,但这确实适用于 FF,但我使用的是基于 webkit 的浏览器。

标签: jquery ajax forms select dynamic


【解决方案1】:

我找到了这种方式,在#id_select-button的点击事件上返回false,jquery mobile添加'-button'并手动打开选项。

$('#select-choice-1-button').click(function(){

    setTimeout(function(){
        $('#select-choice-1').append('<option value="gg">TEST SUCCESS</option>');
        $('#select-choice-1').selectmenu('refresh');
        $('#select-choice-1').selectmenu('open');
    }, 2000);

    return false;
});

http://jsfiddle.net/HVahC/1/

【讨论】:

  • 啊哈,是的,反过来做,这听起来像是我最接近我的目标。希望在列表中显示一个加载符号,但是使用您的代码,我可以在打开之前在选择的顶部绝对加载。非常感谢老兄。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
相关资源
最近更新 更多