Я пытаюсь отправить объект в массив, чего не происходит, он возвращает пустой массив объектов. СМОТРИТЕ это [{}, {}], не показывая значений.
Вот мой код JS.
function sendFormValues() {
var result_arr = [];
var kids = $(".panel-group").map(function() {
kidName = $(this).find('.kid-name').text();
kidAge = $(this).find('.kid-age').text();
if (kidName || kidAge) {
var obj = {
kidName: kidName,
kidAge: kidAge
};
console.log(obj); //** Here object print correctly.**
result_arr.push(obj);
console.log(result_arr); //** here showing empty object. line []**/
}
return result_arr;
}).get();
console.log(result_arr); /** // printing like [{},{}]**/
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="panel-group">
< div class=" panel-heading " >
<a class="kid-name ">Some dynamic value</a>
<a class="kid-age ">Some dynamic value</a>
</div >
</div >
<a href="javascript() " onclick="sendFormValues() ">Send value</a>
Может ли кто-нибудь помочь здесь в том, что я делаю здесь ошибкой?
Заранее спасибо.
0
Zain
25 Окт 2019 в 10:38
2 ответа
function sendFormValues() {
var result_arr = [];
var kids = $(".panel-group>.panel-heading").each(function() {
var kidName = $(this).find('.kid-name').text();
var kidAge = $(this).find('.kid-age').text();
var obj = {
kidName: kidName || '',
kidAge: kidAge || ''
};
result_arr.push(obj);
});
console.log(result_arr);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="panel-group">
<div class="panel-heading">
<a class="kid-name ">Some dynamic value1</a>
<a class="kid-age ">Some dynamic value1</a>
</div>
<div class="panel-heading">
<a class="kid-name ">Some dynamic value2</a>
<a class="kid-age ">Some dynamic value2</a>
</div>
<a href="javascript:;" onclick="sendFormValues() ">Send value</a>
</div>
Видеть это.
0
sugars
25 Окт 2019 в 11:18
Я помещаю значение в список отдельно, и оно работает так, как вы ожидаете, в двух массивах [{}, {}]
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script>
function sendFormValues() {
var result_arr = [];
var kids = $(".panel-group").map(function() {
kidName = $(this).find('.kid-name').text();
kidAge = $(this).find('.kid-age').text();
if (kidName || kidAge) {
//console.log(obj); // Here object print correctly.**
result_arr.push({
kidName: kidName
});
result_arr.push({
kidAge: kidAge
});
console.log(result_arr); // here showing empty object. line []**
}
return result_arr;
}).get();
console.log("result", result_arr); // printing like [{},{}]**
}
</script>
<body>
<div class="panel-group">
<div class="panel-heading">
<a class="kid-name ">Some dynamic value</a>
<a class="kid-age ">Some dynamic value</a>
</div>
</div>
<a href="#" onclick="sendFormValues()">Send value</a>
</body>
</html>
<!-- end snippet -->
0
Tula Magar
25 Окт 2019 в 11:19
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.