как включить флажок после отключения? - PullRequest
0 голосов
/ 11 апреля 2020

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

function clickcity() {
  var checkBox = document.getElementById("city-new-ad");
  var myinput = document.getElementById("select-city-ad");

  if (document.getElementById("city-new-ad").disabled == true) {
    document.getElementById("select-city-ad").disabled == true;
  }
  if (document.getElementById("city-new-ad").disabled == false) {
    if (checkBox.checked == true) {
      document.getElementById("select-city-ad").disabled == true;
    } else {
      document.getElementById("select-city-ad").disabled == false;
    }
  }
}

function clickphone() {
  var checkBox = document.getElementById("phone-ad");

  if (checkBox.checked == true) {
    document.getElementById("another-phone").disabled = true;
  } else {
    document.getElementById("another-phone").disabled = false;
  }
}

function clickcity_option() {
  document.getElementById("city-new-ad").disabled = true;
}

function clickphone_option() {
  document.getElementById("phone-ad").disabled = true;
}
<div class="form-group">
  <label for="exampleInputPassword1">phone number:</label>
  <span>my phone number</span>
  <input type="checkbox" id="phone-ad" onclick="clickphone()">
  <br>
  <span class="my-phone-ne">another phone : </span>
  <input type="text" class="form-control input-register"
      onclick="clickphone_option()" id="another-phone"
      style="border: 1px solid #370DFF; display: inline-block; width: 30% !important; margin-right: 5px !important;">
</div>

<div class="form-group">
  <label for="exampleInputPassword1">address: </label>
  <span>my town</span>
  <input type="checkbox" id="city-new-ad" onclick="clickcity()">
  <select class="custom-select select-search select-width"
      onclick="clickcity_option()" id="select-city-ad"
      style=" border: 1px solid #370DFF; width: 20%;">
      <option selected
          style="overflow-wrap: break-word !important; text-align: center !important;">
          choose city</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
  </select>
</div>

1 Ответ

0 голосов
/ 11 апреля 2020

внесены изменения в HTML добавлено onkeyup вместо onclick

<input type="text" class="form-control input-register" onkeyup="clickphone_option(this)" id="another-phone" style=" border:1px solid #370DFF; display: inline-block; width: 30% !important ;margin-right: 5px !important;">

В js функция clickphone_option добавила условие if, которое проверяет, является ли входное значение> 0, если его> 0, оно снимает флажок и если вы сбросите все значения флажка, он снова включит флажок.

function clickphone_option(a) {
        if(a.value.lenght>0){
        document.getElementById("phone-ad").disabled = true;
        }else{
        document.getElementById("phone-ad").disabled = false;

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