Я пытаюсь немного оптимизировать свой код и задавался вопросом, может ли кто-нибудь здесь помочь мне.Динамическое изменение значений формы в объекте JavaScript
Прежде чем я объясню свою проблему, позвольте мне предложить вам мой код html и js/jquery для вашего удовольствия!
HTML:
<tr>
<td>
<input email="[email protected]" value="4560" type="checkbox" id="task_checked">
</td>
<td>[email protected]</td>
</tr>
<tr>
<td>
<div>
<span>E-Mail: </span><input id="4560" type="text" name="added_email" class="added_email">
<span>Enter Book Name: </span><input id="4560" type="text" class="category">
</div>
</td>
</tr>
<tr>
<td>
<input email="[email protected]" value="6012" type="checkbox" id="task_checked">
</td>
<td>[email protected]</td>
</tr>
<tr>
<td>
<div>
<span>E-Mail: </span><input id="6012" type="text" name="added_email" class="added_email">
<span>Enter Book Name: </span><input id="6012" type="text" class="category">
</div>
</td>
</tr>
<tr>
<td>
<input email="[email protected]" value="5604" type="checkbox" id="task_checked">
</td>
<td>[email protected]</td>
</tr>
<tr>
<td>
<div>
<span>E-Mail: </span><input id="5604" type="text" name="added_email" class="added_email">
<span>Enter Book Name: </span><input id="5604" type="text" class="category">
</div>
</td>
</tr>
Надеется, что не отпугнуть Вас!
Это мой JQuery.
var newTasksArr = {};
$("#task_checked:checked").each(function() {
var email = $(this).attr("email");
var id = $(this).val();
newTasksArr[id] = email;
});
var AddedEmailsArr = [];
var inputs = $('input.added_email'), tmp;
$.each(inputs, function(i, obj) {
tmp = {
'Task_ID': $(obj).attr('id'),
'email': $(obj).val(),
'category' : $(obj).siblings('.category').val(),
};
AddedEmailsArr.push(tmp);
});
Как вы можете видеть, в настоящее время у меня есть две функции JQuery, которые я пытаюсь сделать в одном.
Позвольте мне показать вам, ребята/девушки, как выглядит результат.
//output for var newTasksArr = {};
Object { 4560="[email protected]", 6012="[email protected]", 5604="[email protected]" }
//output for var AddedEmailsArr= {};
[
Object { Task_ID="4560", email="[email protected]", category="example1" },
Object { Task_ID="6012", email="[email protected]", category="example2" },
Object { Task_ID="5604", email="[email protected]", category="example2" }
]
Для того, чтобы оптимизировать мой код, я хотел бы избавиться от двух объектов и сделать их одним объектом.
Ниже приведено то, что я хотел бы, чтобы он выглядел.
[
Object { Task_ID="4560", email="[email protected]", category="example1" },
Object { Task_ID="6012", email="[email protected]", category="example2" },
Object { Task_ID="5604", email="[email protected]", category="example2" },
Object { Task_ID="4560", email="[email protected]" },
Object { Task_ID="6012", email="[email protected]" },
Object { Task_ID="5604", email="[email protected]" }
]
Надеюсь, мой вопрос имеет смысл, и я по-настоящему ценю любую помощь от вас, ребята, с этим вопросом. Пожалуйста, попросите меня что-нибудь объяснить.
спасибо.
Вы не задали здесь вопрос, просто сказали нам, как он должен выглядеть. Почему это должно выглядеть так? Не могли бы вы предоставить какой-то контекст? – Prisoner
@Prisoner Привет, потому что в настоящее время я передаю два объекта на мой backend, и я бы хотел, чтобы он был одним. Спасибо. – BaconJuice