【问题标题】:Binding data to dropdown将数据绑定到下拉列表
【发布时间】:2017-05-17 12:47:56
【问题描述】:

我正在尝试通过全局变量(名称是数组名称)绑定下拉列表,该变量在下面绑定:

Click here - dropdown is populating fine

  var name = ['us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya', 'us', 'china', 'kenya'];

但是当我尝试在成功回调函数 (fnsuccesscallback) 中填充数组(ddList 是数组名称)时,下拉列表不会填充。

Click here - drop-down is not pupulating

 function fnsuccesscallback(data) {         
            $.each(data.d, function () {              
                ddList.push(this['Value']);             
            });    
            ddList.push('a');
            ddList.push('b');
            ddList.push('c');
            ddList.push('d');

        }   

但我只想在回调函数中填充数组。

请告诉我如何解决这个问题?

更新:

Drodown formating screwed up

获取数据但下拉列表的格式搞砸了

【问题讨论】:

  • ajax 成功(或实际上是失败)回调在您的 array.map 调用之后执行得很好,因为异步。你应该在成功函数中做地图。
  • 如果我们在成功的情况下进行映射,那么 droddown 将无法正确绑定数据,替代解决方案是什么?

标签: javascript jquery .net arrays dropdown


【解决方案1】:

正如我在 cmets 中提到的,您的方法不起作用,因为在您尝试将结果附加到选择后,ajax 成功函数执行良好。

您应该在回调期间附加新选项。试试这个:

function fnsuccesscallback(data) {
    data.map(function (el) {
        $('.multiselect').append("<option value='" + el.Value + "'>" + el.Value + "</option>");
    });
}

【讨论】:

  • 不走运......这是你想做的吗? jsfiddle.net/rLwep5yc/3
  • 好吧,它不适用于 jsfiddle,ajax url 是“Test.aspx/GetAllCultures”,并且 fnerrorcallback 被击中而不是 fnsuccesscallback。在该 url 有效的服务器上尝试。如果仍然失败,请确保它正在接收预期的服务器响应。
  • 我在 Visual Studio 中尝试过,但结果与下面的 jsfiddle.net/rLwep5yc/6 相同
  • 我得到响应,回调函数的数据变量没有任何问题
  • 你能用服务器响应的内容更新问题吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多