Перебор объектов и вывод значений
Добрый вече форумчане, помогите правильно перебрать объект.
Имеем объект с вложенными объектами. И структуру инпутов. Нужно перебором разместить в value инпутов значения объектов. В примере показал 3 типа клиентов, данные в объекте: "min кол-во": "цена" Ссылка на фидл
<div id="extra_prices2" class="container alert">
<div id="price_to_all" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
<div id="price_to_client1" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
<div id="price_to_client2" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
</div>
var extra_values_group = '{"price_to_all":{"100":"1.546","200":"2.227"},"price_to_client1":{"100":"1.007","200":"0.124"},"price_to_client2":{"100":"1.007","200":"0.124"}}',
extra_values = JSON.parse(extra_values_group, function (k, v) {
return v;
}),
new_parent = $('#extra_prices2'),
group_all = '#price_to_all',
group_client1 = '#price_to_client1',
group_client2 = '#price_to_client2',
impact_initial = '.impact_initial',
impact_extra_value = '.impact_extra_value',
all_values = extra_values.price_to_all,
all_initials = Object.keys(all_values),
client1_values = extra_values.price_to_client1,
client2_values = extra_values.price_to_client2;
console.log(extra_values);
console.log(all_values);
console.log(all_initials);
extravaluestoinput(group_all);
function extravaluestoinput(parent) {
new_parent.find(parent).find(impact_extra_value).each(function() {
for (var i in all_values) {
$(this).val(all_values[i]);
};
});
new_parent.find(parent).find(impact_initial).each(function() {
for (var i in all_initials) {
$(this).val(all_initials[i]);
};
});
}
|
SeeJ,
и что должно быть в результате? |
SeeJ,
так?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<style>
</style>
</head>
<body>
<div id="extra_prices2" class="container alert">
<div id="price_to_all" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
<div id="price_to_client1" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
<div id="price_to_client2" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
</div>
<script>
var extra_values_group = '{"price_to_all":{"100":"1.546","200":"2.227"},"price_to_client1":{"100":"1.007","200":"0.124"},"price_to_client2":{"100":"1.007","200":"0.124"}}',
extra_values = JSON.parse(extra_values_group);
for(var fKey in extra_values) {
if($('#' +fKey)) {
var nObj = extra_values[fKey];
for(var key in nObj){
$('#' +fKey).find('.impact_extra_value').val(nObj[key]);
$('#' +fKey).find('.impact_initial').val(key);
}
}
}
</script>
</body>
</html>
|
немного не так , сейчас попробую исправить
|
:lol: ТС пропал ... остаётся гадать ...
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
</head>
<body> <div id="extra_prices2" class="container alert">
<div id="price_to_all" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
<div id="price_to_client1" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
<div id="price_to_client2" class="panel col-xs-12" aria-labelledby="price_to_all-tab">
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-4">
<input type="text" class="form-control impact_extra_value" value="">
</div>
<div class="col-xs-offset-1 col-xs-4">
<div class="input-group"> <span class="input-group-addon"><span class="initial">min</span></span>
<input type="text" class="form-control impact_initial" value="">
</div>
</div>
</div>
</div>
</div>
<script>
var extra_values_group = '{"price_to_all":{"100":"1.546","200":"2.227"},"price_to_client1":{"100":"1.007","200":"0.124"},"price_to_client2":{"100":"1.007","200":"0.124"}}',
extra_values = JSON.parse(extra_values_group);
Object.keys(extra_values).forEach(function(a) {
var b = document.querySelectorAll("#" + a + " input"),
c = extra_values[a];
Object.keys(c).forEach(function(a, e) {
var d = 2 * e;
b[d].value = c[a];
b[++d].value = a
})
});
</script>
</body>
</html>
|
рони,
красиво ;) |
я тут, ребят)))вчера надо было бежать к жене на подмогу:)
рони, ща затестим)) update: Рони, гениально!:)Держи плюху в карму. Мало того что решил проблему еще и ужал код на переменных! |
| Часовой пояс GMT +3, время: 10:52. |