С помощью this forum Я создаю небольшой скрипт, который проверяет, присутствует ли имя в объекте из ответа json. Если это имя присутствует, я хочу получить значение от этого объекта и показать его где-нибудь в div.Имя теста в объекте
Все работает отлично, однако есть некоторые product.specs
с почти одинаковыми именами. В приведенном ниже примере мы имеем:
Height (mm)
и Height stacked (mm)
.
Когда оба вышеуказанных присутствуют в json-ответе, он автоматически захватывает второй Height
(так что высота укладывается (мм)).
При использовании приведенного ниже скрипта проверьте имя для reHeight = /height/i;
. Как я могу исключить Height stacked (mm)
из этого теста, использовать только значение от Height (mm)
?
Так что у меня есть это
var data = {
"product": {
"specs": {
"231638": {
"id": 231638,
"title": "Length (mm)",
"value": "1200"
},
"231641": {
"id": 231641,
"title": "Width (mm)",
"value": "800"
},
"231644": {
"id": 231644,
"title": "Height (mm)",
"value": "144"
},
"239999": {
"id": 239999,
"title": "Height stacked (mm)",
"value": "14400"
} //etc etc
}
}
};
var length = 0, width = 0, height = 0,
reLength = /length/i,
reWidth = /width/i,
reHeight = /height/i;
$.each(data.product.specs, function (specId, spec) {
if (reLength.test(spec.title))
length = spec.value;
else if (reWidth.test(spec.title))
width = spec.value;
else if (reHeight.test(spec.title))
height = spec.value;
});
var html = '<div class="somediv">' +
'<span class="width">w: ' + width + '</span>' +
'<span class="height">h: ' + height + '</span>' +
'<span class="length">l: ' + length + '</span>' +
'</div>';
$(document.body).html(html);
Хорошо, что я попытался было ' ба t/(mm /)/i' :(Ваши работы лучше;) Thx ... – Meules
Вы были на правильном пути, вы только что сбросили свои побеги. Счастливое кодирование;) – zer00ne