Как снять флажок, когда оба моих ввода [type = text] очищены или пусты? - PullRequest
0 голосов
/ 18 января 2019

Как я могу снять input типа флажок , когда оба моих input типа text пусты, и проверил, если один из моих input с тип текст заполнен?

$('input[name="t2"],input[name="t3"]').keyup(function() {
  $('input[name="t1"]').prop("checked", $.trim($(this).val()).length != 0);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="checkbox" name="t1" /> Price range from:
<input type="text" name="t2" /> to <input type="text" name="t2" />

JSFiddle: здесь по этой ссылке

Он выполняется правильно, когда я что-то набираю в любом типе текста ввода (флажок установлен), но не работает, когда я очищаю оба поля, потому что флажок снят, когда очищается только один из входов. Не могли бы вы помочь мне решить это? Спасибо

Ответы [ 2 ]

0 голосов
/ 18 января 2019

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

$('input[name="t2"],input[name="t3"]').keyup(function() {
  var t2 = $('input[name="t2"]').val();
  var t3 = $('input[name="t3"]').val();
  if (t2 != "" || t3 != "") {
    $('input[name="t1"]').prop("checked", true);
  } else {
    $('input[name="t1"]').prop("checked", false);
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<input type='checkbox' name='t1'>
<input type="text" name="t2">
<input type="text" name="t3">
0 голосов
/ 18 января 2019

Вы запускаете дважды. Вам просто нужно проверить, есть ли входные данные в любом из двух полей. Как это:

$('input[name="t2"],input[name="t3"]').keyup(function () {           
      $('input[name="t1"]').prop("checked",
        //now check if any of the two inputs have content
        $.trim($('input[name="t2"]').val()).length != 0 ||
        $.trim($('input[name="t3"]').val()).length != 0
       );
   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...