javascript - 由于 javascript 获取 PHP 值,代码无法正常运行,我不知道如何比较它们
问题描述
<div class="content">
<h1>Üdvözöllek, <?php echo $nickname; ?>! </h2>
<h4>Válasszon hetet: </h4>
<select class="select-selected" id="1" name="het" onchange="checkclass()">
<option disabled selected value>Hét</option>
<option value="1"><?php echo $sd->format('m.d')," - ", $ed->format('m.d');?></option>
<option value="2"><?php echo $sd2->format('m.d')," - ", $ed2->format('m.d');?></option>
<option value="3"><?php echo $sd3->format('m.d')," - ", $ed3->format('m.d');?></option>
</select>
</div >
<div>
<a id="class">
<select class="select-selected" id="2" onchange="checksubject()" name="osztaly">
<option disabled selected value><?php echo $class; ?></option></select>
</a>
<a id="subject">
<select class="select-selected" id="3" name="tantargy">
<option disabled selected value><?php echo $subject; ?></option></select>
</a>
<a id="bontotte"></a>
<a id="classtwo"></a>
</div>
<script>
function checkclass() {
var het = document.getElementById('1').value;
if(1<=het){
var onosztaly =
'<select class="select-selected" name="osztaly">'+
'<option disabled selected value><?php echo $class; ?>'+
'<option value="<?php echo $class1; ?>"><?php echo $class1; ?></option>'+
'<option value="<?php echo $class2; ?>"><?php echo $class2; ?></option>'+
'<option value="<?php echo $class3; ?>"><?php echo $class3; ?></option>'+
'<option value="<?php echo $class4; ?>"><?php echo $class4; ?></option>'+
'<option value="<?php echo $class5; ?>"><?php echo $class5; ?></option>'+
'<option value="<?php echo $class6; ?>"><?php echo $class6; ?></option>'+
'<option value="<?php echo $class7; ?>"><?php echo $class7; ?></option>'+
'</select>';
document.getElementById("class").innerHTML =(onosztaly);
}
}
function checksubject() {
var sub = document.getElementById('2').value;
var clas = document.getElementById('2').value;
if(sub == clas){
var onsub = '<select class="select-selected" id="2" name="tantargy">'+
'<option disabled selected value><?php echo $subject; ?></option>'+
'<option value="<?php echo $subject1; ?>"><?php echo $subject1; ?></option>'+
'<option value="<?php echo $subject2; ?>"><?php echo $subject2; ?></option>'+
'<option value="<?php echo $subject3; ?>"><?php echo $subject3; ?></option>'+
'<option value="<?php echo $subject4; ?>"><?php echo $subject4; ?></option>'+
'</select>';
document.getElementById("subject").innerHTML =(onsub);
}
}
</script>
所以最后一个不会让它成为选择框来填写,就像另一个名为“osztaly”的框一样。我认为我在 javascript 中的 IF 标记有问题,因为值无法比较:)
解决方案
您已经通过 javascript 覆盖了您自己的选择框
更改此代码
var onosztaly =
'<select class="select-selected" name="osztaly">'+
至
var onosztaly =
'<select class="select-selected" id="2" onchange="checksubject()" name="osztaly">'+
它会起作用,这意味着当日期更改时选择框的 ID 和更改事件都会丢失
坦率地说你的设计不好,有添加选项和删除选项的有效方法,innerHTML 是很老的风格
题文显示javascript getting PHP values
————这种理解是错误的
您的整个代码呈现为运行 HTML 并提供给浏览器,浏览器中不再有 PHP,只有您正在为下拉更改进行的浏览器编码
所以当你认为这实际上是从 PHP 中读取值时,这不是一个正确的理解
您仅在 javascript 中直接读取 HTML 组件值
推荐阅读
- django - CustomUser 对象没有属性“方法”Django 3.0
- kubernetes - 部署在 EKS 上的服务在其 EXTERNAL-IP 上没有响应
- php - 试图将两个字符串值合并在一起
- javascript - 将html转换为JS文件中的html字符串
- java - Java:在 Spring Boot 中连接到服务时出现 SSLHandshake 异常
- git - 什么会导致本地 git 文件在计算机重新启动后恢复到以前的状态
- php - 提交表单 PHP 修改为 JQuery AJAX
- java - Mockito doAnswer()
- python - TypeError:owlready 库中的预期字符串或类似字节的对象
- node.js - 无法在 ubuntu 18.04 上运行 mongo