симулировать клик по всем найденным проверено: true - PullRequest
0 голосов
/ 20 февраля 2020
 let inputs = userA[username].userAchkData;
  inputs.forEach(function(input){ 
    console.log(input);
        document.getElementById(input.id).checked = input.checked; 
    });
  }

Над соответствующим кодом; вместо того, чтобы установить его в HTML или как выше, мне нужно смоделировать .click() для реальной проверки для получения моих данных.

Выше приведен флажок, визуально, но не на самом деле, мне нужно сделать это через click().

Мой консольный журнал на input над выходами, такими как ниже, то есть:

{id: "slz1", checked: false}
{id: "slz2", checked: true}
{id: "slz3", checked: false}

..........................

Как можно Я переписываю в моих forEach на фактически нажмите найденные checked: true s?

Ответы [ 2 ]

1 голос
/ 20 февраля 2020

Вы можете проверить, проверяется ли входной объект с помощью простого if, а затем, если да, вызвать .click() для элемента.

Примечание : вызывая щелчок, вы можете удалить деталь, которая помечает элемент как отмеченный, поскольку щелчок будет обрабатывать это (он будет проверять, если не отмечен, и снимать флажок, если уже отмечен)

let inputs = [{ id: "a", checked: true}, { id: "b", checked: false}]

inputs.forEach(function(input) {
  if (input.checked) {
    var inputElem = document.getElementById(input.id)
    inputElem.click()
  }
});

function clickListenerExample() {
  console.log("click called")
}
<input type='checkbox' id="a" onclick='clickListenerExample()' />
<input type='checkbox' id="b" onclick='clickListenerExample()' />
0 голосов
/ 20 февраля 2020

Вы можете попробовать https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/click

    let inputs = [{id:'one'}];
    inputs.forEach(function(input){ 
        console.log(input);
        document.getElementById(input.id).click(); 
    });
<input type="checkbox" id="one"  />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...