【问题标题】:Data is not appending to Dropdown without page refresh?没有页面刷新,数据不会附加到下拉菜单?
【发布时间】:2016-04-26 05:01:32
【问题描述】:

大家好,我遇到了一个奇怪的问题,我正在从 jquery(fSlect 插件)Plugin link 附加我的下拉数据

这是我在 html 中的选择

<select name="ownerparm" class="demo" multiple="multiple" id="addownok">
</select>

这是我附加数据选项的功能

function Preload7()
{
    $("#addownok").find('option').remove();
    console.log("i am called preload7");
    $.getJSON("/FrontEnd/resources/getowner", function (jsonData) {
        $.each(jsonData, function (i, j) {

        $("#addownok").append($("<option value="+j.societyOwnerId+"></option>").html(j.socityOwnersNames));

        }); 
        $('#addownok').fSelect();
    });

}

每当我尝试调用 Preload7() 函数时不刷新页面,数据不会附加到下拉列表中,如果我删除 fSelect 插件,那么它会正常工作(如果我刷新页面,那么它也会使用 fSelect 附加数据)我想要这个而不刷新页面,

正如您在我第一次加载应用程序时看到的,数据已正确附加在选项和 fSelect DOM 中,

现在当我添加另一个所有者时,它无法附加到 fSelect DOm

因此,下拉菜单中仅显示 3 个选项

请告诉我如何在没有刷新页面的情况下执行此操作,我在上面浪费了 3 天时间,但我做不到?

【问题讨论】:

  • 我们可以来一把同样的小提琴吗?
  • 实际上它无法在小提琴上显示,简单的是没有附加fSelect插件数据,但是当我刷新我的页面数据时也附加了fSelect
  • 您尝试重新加载它吗? $('#addownok').fSelect().reload()
  • $('#addownok').fSelect('reload'); 应该可以工作,但我看到它添加了一个重复的搜索框。替代方式可以是$('#addownok').fSelect('destroy').fSelect('create');
  • @shakib,你的目标太棒了!继续回答这个问题......这是给你的小提琴! jsfiddle.net/rayon_1990/k425mtv1/20

标签: javascript jquery html jquery-plugins


【解决方案1】:

插件有一些暴露的API函数,如createreloaddestroy

$('#addownok').fSelect('reload');

应该在更改后重新加载选项,但它也会重复搜索框,

替代解决方案,

$('#addownok').fSelect('destroy').fSelect('create');

希望这会有所帮助。

【讨论】:

猜你喜欢
  • 2015-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多