Получить значение, используя jquery (getJSON) и json - PullRequest
2 голосов
/ 24 ноября 2010

Как получить поле состояния из файла json, используя текстовое поле в качестве источника кода идентификатора?

Мой файл data.json:

[{
        "code":"001",
        "status":"ready"
    },
    {
        "code":"002",
        "status":"not ready"
    }
]

Мой файл jquery:

$(document).ready(function() {
$('#ticketsearch').click(function() {
  var ticketcode = $('[name=ticketcode]').val();
  $('.ticket').text(ticketcode);
  $.getJSON('data.json', function(data) {
  $('.status').text(data.status);
  });
  });
});

Ответы [ 3 ]

2 голосов
/ 24 ноября 2010

В этом случае вам нужно перебирать, пока не найдете code, который соответствует, например:

$(document).ready(function() {
  $('#ticketsearch').click(function() {
    var ticketcode = $('[name=ticketcode]').val();
    $('.ticket').text(ticketcode);
    $.getJSON('data.json', function(data) {
      $.each(data, function(i, obj) {
        if(obj.code == ticketcode)
          $('.status').text(obj.status);
      });
    });
  });
});

Если это вариант, просто упростите свой JSON до codeэто ключ, как это:

{
   "001":"ready",
   "002":"not ready"
}

Затем вы можете получить к нему доступ через этот ключ, как это:

$(document).ready(function() {
  $('#ticketsearch').click(function() {
    var ticketcode = $('[name=ticketcode]').val();
    $('.ticket').text(ticketcode);
    $.getJSON('data.json', function(data) {
      $('.status').text(data[ticketcode]);
    });
  });
});
0 голосов
/ 24 ноября 2010

У вас есть массив объектов словаря, поэтому вам нужно будет использовать data[0].status до data[n].status.

0 голосов
/ 24 ноября 2010

Какой из них вы хотите?Вы получите обратно массив.Если вы хотите первый статус: data[0].status.Если 2-й элемент: data[1].status

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...