如何创建JavaScript函数

时间:2017-09-06 07:38:41

标签: javascript jquery ajax

我写了一些函数。

function createGarage(id) {
  var id = 'data.models.'+id+'.pictures';
  $.ajax({
    url: 'models.json',
    type: 'get',
    dataType: 'json',
    error: function(data){},
    success: function(data){
      $.each(id, function(name, value) {
        $('#view').append('<img src="./' + value + '" width="100%" class="foto">');
      });
    }
  });    
}

我收到错误: TypeError:无效&#39; in&#39;操作数a; 在每个循环的部分。我认为问题是var id,我可以这样做吗?这个id我需要访问JSON中的有效数据。 在HTML中,我将此函数称为:onClick="createGarage(g21)&#34;

{
  "name": "kalkulator garaży",
  "version": "1.0",
  "models": {
   "g1": {
      "id": "1",
      "name": "Garaż dwuspadowy (lewo-prawo) z blachy, podwójny",
      "pictures": {
        "0": "/images/dwuspad/trawa-dwojka.png",
        "1": "/images/dwuspad/cien.png",
        "2": "/images/dwuspad/dach-blacha.png",
        "3": "/images/dwuspad/drzwi-lewy-blacha.png",
        "4": "/images/dwuspad/drzwi-prawy-blacha.png",
        "5": "/images/dwuspad/przod-lewy-blacha.png",
        "6": "/images/dwuspad/przod-prawy-blacha.png",
        "7": "/images/dwuspad/bok-blacha.png"

      }
    },

2 个答案:

答案 0 :(得分:2)

您可以使用解决方案

function createGarage(id) {
  $.ajax({
    url: 'models.json',
    type: 'get',
    dataType: 'json',
    error: function(data){},
    success: function(data){  
      $.each(data.models[id].pictures, function(i){
        $('#view').append(`<img src=".${data.models[id].pictures[i]}" width="100%" class="foto">`);
      });
    }
  });
}

应该是Onclick按钮 <button onClick="createGarage('g1');">Click Me!!!</button>

您在传递值的onClick方法中缺少引号。

希望这会对你有所帮助。

答案 1 :(得分:0)

删除此行

var id = 'data.models.'+id+'.pictures';

并使用

$.each(data.models[id].pictures, ...