#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, но не считывает идентификатор