Заполнить ввод вложенным именем значениями из объекта - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть такие входные данные:

<input type="text" id="contact[actif]" name="contact[actif]">
<input type="text" id="contact[sql]" name="contact[sql]">
<input type="text" id="interlocuteur[actif]" name="interlocuteur[actif]">
<input type="text" id="interlocuteur[sql]f" name="interlocuteur[sql]">

У меня есть такой объект из JSON, который хранится в sessionStorage:

contact: {
  actif: true,
  sql: "SELECT * from w "
},
interlocuteur:{
  actif: true,
  sql: "select * from l"
}

Как я могу заполнить свои входные данные значениями изобъект?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Использование JavaScript:

document.getElementById("contact[actif]").value = contact.actif;
document.getElementById("contact[sql]").value = contact.sql;

document.getElementById("interlocuteur[actif]").value = interlocuteur.actif;
document.getElementById("interlocuteur[sql]").value = interlocuteur.sql;
0 голосов
/ 06 февраля 2019

Если предположить, что вопрос заключается в том, что вы не знаете имен ключей объекта во время выполнения, вы можете использовать два цикла для ключей объекта, десериализованных из JSON.Затем вы можете использовать ключи, которые вы получили, чтобы построить строку селектора для элементов, что-то вроде этого:

var data = {
  contact: {
    actif: true,
    sql: "SELECT * from w "
  },
  interlocuteur: {
    actif: true,
    sql: "select * from l"
  }
}

Object.keys(data).forEach(function(outerKey) {
  Object.keys(data[outerKey]).forEach(function(innerKey) {
    var selector = `#${outerKey}\\[${innerKey}\\]`;
    $(selector).val(data[outerKey][innerKey]);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="contact[actif]" name="contact[actif]">
<input type="text" id="contact[sql]" name="contact[sql]">
<input type="text" id="interlocuteur[actif]" name="interlocuteur[actif]">
<input type="text" id="interlocuteur[sql]" name="interlocuteur[sql]">

Если вы знаете имена ключей, то это просто случай доступа к объекту для получения значений.

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