Как скрыть поле формы на основе значения параметра, выбранного ранее в поле формы - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу скрыть поле формы ("метод"), если пользователь выбирает некоторые ("Conta" или "Retirada") из шести опций, которые ранее было в поле формы ("operacao").

Я попытался скрыть (.hide ()) поле формы "метод" с помощью функции .change (), основанной на значении (.val ()) выбранного параметра поля формы "operacao".

<form method=post>
    {{ form.csrf_token }}
    <label for="operador">Operador</label>
    {{ render_field(form.operador) }}
    <br  />
    <label for="operacao">Operação</label>
    <select class="form-control" id="operacao" name="operacao" required="">
        <option value="Foto Documento">Foto Documento</option>
        <option value="Revelação">Revelação</option>
        <option value="Foto Produto">Foto Produto</option>
        <option value="Ótica">Ótica</option>
        <option value="Conta">Conta</option>
        <option value="Retirada">Retirada</option>
    </select>       
    <br/>
    <label for="metodo">Método de Pagamento</label>
    <select class="form-control" id="metodo" name="metodo" required="">
        <option value="Não se aplica">Não se aplica</option>
        <option value="Dinheiro">Dinheiro</option>
        <option value="Cartão">Cartão</option>
    </select>
    <br />
    <label for="valor">Valor</label>
    {{ render_field(form.valor) }}
    <br />
    <label for="observacao">Observação*</label>
    {{ render_field(form.observacao) }}
    <small id="observacaoHelp" class="form-text text-muted">*Opcional</small>
    <br />
    <button type="submit" class="btn btn-outline-success">Salvar</button>
</form>

<!--I have typed the output of the render_field(form.operacao) and 
render_field(form.metodo) to make it easier to visualize. -->

<script>
$(document).ready(function() {
$("#operacao").change(function() {
    if ($(this).val() == "Conta" || "Retirada"){
        $("#metodo").hide();
    }});
});
</script>

Поскольку параметры «Conta» и «Retirada» в поле формы «operacao» делают поле формы «метод» бесполезным (и на самом деле могут быть проблематичными, если другие параметры, кроме «Não se aplica», являютсявыбран в поле формы «метод») Я хочу, чтобы он был полностью скрыт (параметр «Нет приложения» уже используется по умолчанию в этом поле формы, поэтому нет проблем с его скрытием). Однако выбор этих параметров не скрывает поле какожидается.

1 Ответ

0 голосов
/ 02 апреля 2019

Я полагаю, что проблема связана с условием jQuery.

$(function(){
  $("#operacao").change(function() {
    if ($(this).val() == "Conta" || $(this).val() == "Retirada") {
      $("#metodo").hide();
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...