【问题标题】:How to display data in select box option using jquery如何使用jquery在选择框选项中显示数据
【发布时间】:2016-09-28 01:15:33
【问题描述】:

我想在 ajax 响应的选择框选项中显示数据。

这是我的视图文件

<select class="form-control" name="vendor" id="vendor_list" required style="width: 159px;">
<option value="">Vendor 1</option>
</select>

这是我的ajax成功函数

success: function(data) {
    $.each(data, function(i, value) {
        console.log(value);
        $('#vendor_list').append('<option value="'+ value.id+'">'+ value.vendor_name +'</option>');
        console.log(value);
    });
}

这是我的 ajax 响应 json 数据

[{"vendor_name":"scscss"},{"vendor_name":"xzcdsfdx"}]

如何在选择框中显示值。 给我建议。谢谢

【问题讨论】:

  • 您的问题是什么?我看不出你的代码有什么问题。
  • 您遇到的错误是什么?这段代码看起来不错。如果您的 ajax 响应代码中有多个响应,请使用循环添加选项。
  • 我收到以下错误--morris.js (line 79, col 15) TypeError: invalid 'in' operand e
  • 尝试在JSON.parse(data)上运行每个
  • 好吧,它来自morris.js ,我们甚至不知道那是什么。我认为我们无法在共享代码方面为您提供帮助。

标签: javascript jquery arrays json ajax


【解决方案1】:

我认为问题出在

$('#vendor_list').append('<option value="'+ value.id+'">'+ value.vendor_name +'</option>');

如果您创建一个选项字符串并在整个 data 被迭代后附加它会更好

由于无法复制ajax,所以我直接使用ajax响应

您可以将整个代码放在成功块中,但您不需要var x,因为在您的情况下data 将扮演var x=[...] 的角色

var x = [{"vendor_name":"scscss"},{"vendor_name":"xzcdsfdx"}]
var _options =""
$.each(x, function(i, value) {
        _options +=('<option value="'+ value.id+'">'+ value.vendor_name +'</option>');
    });
$('#vendor_list').append(_options);

查看jsFiddle

【讨论】:

    猜你喜欢
    • 2012-12-17
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多