0

输入:

var variants = [];
$("div.product[data-variant]").each(function() {
    variants = [{name:chocolate, url:http://urltochocolate.de;
});

输出:

$.each(optionList, function (i, el) {
  combo.append('<option value="'+ el.url +'">' + el.name + "</option>");
});

上面的版本有效,但如果我想通过添加一个 variant.push 来保存所有变体,不仅是最后一个变体,它不会工作。我知道 push 是一个数组函数,但它如何用于 JS 对象?还是推送有效,但是我使用了错误的输出功能?

任何帮助表示赞赏,它不会那么困难,只是没有看到解决方案:(

编辑:

这不是缺少的引号,因为巧克力和 url 只是 jQuery 选择器的占位符

4

2 回答 2

0

尝试

var variants = [];
$("div.product[data-variant]").each(function() {
    var name='name';
    var url='url';
    variants.push({name:name, url: url});
});
于 2013-09-09T10:22:21.557 回答
0
You are missing quotes in your json string.
Try like this.
var variants = [];
$("div.product[data-variant]").each(function() {
    variants.push([{name:'chocolate', url:'http://urltochocolate.de'}])
});   
于 2013-09-09T10:26:50.143 回答