Как скрыть определенные символы в списке ввода HTML?

Я думал, что оператор when будет запускать только задание IF, если statresult существует.

Он может это сделать, но вам нужно обработать ваше условное выражение, например, его Python.

 when: 'domainexists' in item

Обновление. Итак, при втором просмотре вашей пьесы, я вижу некоторые другие проблемы, которые вам нужно будет исправить, прежде чем это сработает.

  1. создается впечатление, что вы лечите with_items, как будто предоставляете доступ к глобальной переменной items, которую затем изменяете и пытаетесь использовать в будущих задачах. Это не так. Любые петли стиля with_X - это то, что он зациклирует задачу с любым списком, который вы ему даете. Кроме того, документация Ansible рекомендует не использовать петли with_X, так как loop стал рекомендуемым способом петли с Ansible 2.5.
  2. В вашей первой игре Don 't сохранить ваш результат stat в item. Храните его в своей собственной переменной, так как item - специальная переменная, используемая для циклов. Это может быть любое другое имя, которое вы хотите. Кроме того, не стоит беспокоиться о сохранении его с помощью собственного ключа, просто укажите ему простое имя переменной, например existant_domain_list, а не existant_domain_list.statresult.
  3. Вы зарегистрировались на item.statresult, но никогда не используете это снова в вашем плейбуке. Возможно, это потому, что вы делаете # 1. Когда вы регистрируете результат, он доступен для нисходящих задач в playbook автоматически (пока вы используете свое собственное имя переменной).

Кроме этого, это намного лучше, чем я сделал моя первая игра-головоломка Ansible лет назад! У вас есть хорошее представление о предполагаемой функциональности инструмента.

0
задан Kamalesh M. Talaviya 19 January 2019 в 07:02
поделиться

2 ответа

Я должен был упомянуть, что мой ввод также использует Awesomplete (и jQuery). По этой причине связывание нормальных событий, таких как keyup, не работает (событие будет срабатывать всякий раз, когда пользователь вводит ключ). Мне удалось добиться нужной функциональности с помощью события awesomplete-selectcomplete следующим образом (это добавит скрытый элемент ввода со значением id из строки вида «String [id]»):

  $("#my-input").on('awesomplete-selectcomplete',function(){
        var fullStr = this.value;
        //alert(fullStr);
        var regex = /\[[0-9]+\]/g;
        var match = regex.exec(fullStr);
        //alert(match[0]);
        if (match != null) // match found for [id]
        {
                var fullName = fullStr.substr(0,fullStr.lastIndexOf("[")-1);
                var x = match[0];
                var id = x.substr(1, x.lastIndexOf("]")-1);
                //alert(id);
                $('#fwd-form').prepend('<input type="hidden" name="h_uid" value="' + id + '">');
                $('#my-input').val(fullName);


        }
    });
0
ответ дан rishi 19 January 2019 в 07:02
поделиться

Если вы не используете какой-либо фреймворк, поддерживающий связывание, вам следует прослушивать входные события и обновлять скрытый входной сигнал на основе этого.

Это функция, которая может дать вам идею:

let realInput = document.getElementById('real-input');
let userInput = document.getElementById('user-input');
userInput.addEventListener('input', function(value) {
  const inputValue = value.target.value;
  realInput.value = inputValue; // update the hidden input
  const userInputResult = inputValue.match(/\[[^\[]*\]/); // the regex for [numberic_id]
  if (userInputResult) {
    userInput.value = inputValue.substring(0, [userInputResult.index - 1]); // -1 is to remove the space between the 'string' and the '[numeric_id]'
  }
});
0
ответ дан Vahid 19 January 2019 в 07:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: