как отключить флажок с помощью Java script условно

#javascript #php #html

#javascript #php #HTML

Вопрос:

у меня есть 3 флажка на 3 разных страницах, я хочу установить один флажок за раз, значит, сначала все 3 флажка сняты, и если я установил один флажок, оставшиеся 2 флажка должны быть отключены.

каждое значение флажка я сохраняю в 3 разных текстовых файле, используя массив в виде единиц и 0. теперь для одной страницы я читаю значения флажка и основанное на них условие, пытаясь отключить флажок, но он не работает.

Я пробовал это

установите флажок в HTML-коде:

 input type="checkbox" id="cb1" name="check[0]" value="1" />
  

java script:

 <script type="text/javascript">

var cb1 =document.getElementById("cb1");
var cb2 = "<?php echo $cb2_arr[5] ?>" ; //cb2=1 or 0
var cb3 = "<?php echo $cb3_arr[6] ?>"; //cb3=1 or 0

if(cb2 ==1 || cb3 == 1){
cb1.disabled = true;
}else{
cb1.disabled = false;
}
</script>
  

cb1.disabled = true; для меня это не работает, я сохранил инструкции alert над и под ним, отображается только над одним

Пожалуйста, помогите мне, как установить отключенное свойство, спасибо

Ответ №1:

попробуйте отключить это и удалить отключено,

  if ($('#cb3').is(':checked') || $('#cb2').is(':checked')) {
         $('#cb1').setAttribute('disabled', true);
}else{
         $('#cb1').setAttribute('disabled', false);
}
  

Комментарии:

1. спасибо, братан, cb2 и cb3 не в одном и том же файле .php, 3 флажка на 3 разных страницах, таких как cb1 в page1.php cb2 в page2.php …. я храню cb1 в cb1.txt , долина cb2 в cb22.txt и значение cb3 в cb3.txt при использовании другого флажка 2 значение изменения флажка должно быть отключено.

Ответ №2:

Вам нужно проверить input1.value == "" , а не просто input1 == ""

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

Дайте функции имя

 function setCheckState(evt) {
    if (input1.value == "" || input2.value == "") {
        result.disabled = true;
    } else {
        result.disabled = false;
    }
}
  

Добавить прослушиватели событий

 input1.addEventListener('change', setCheckState);
input2.addEventListener('change', setCheckState);
// Fire the method to get the initial checkbox state set

setCheckState();
  

Наконец, вы можете сократить свой оператор if() до простого назначения…

 function setCheckState(evt) {
    result.disabled = input1.value == "" || input2.value == "";
}
  

Комментарии:

1. ввод1.addEventListener(‘change’, setCheckState); ввод2.addEventListener(‘change’, setCheckState); у меня cb2 = 1, cb3 = 1 я не считываю идентификатор флажков, вы хотите попробовать вот так cb2.addEventListener(‘change’, setCheckState); //cb2 равен 1 или 0, но не считывает идентификатор cb3.addEventListener (‘change’, setCheckState);//cb3 равен 1 или 0, но не считывает идентификатор