简体   繁体   English

由于 javascript 获取 PHP 值,代码无法正常运行,我不知道如何比较它们

[英]Code not running properly due to javascript getting PHP values and i don't know how to compare them

<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>

So the last one doesn't make it's select box to fill in, like the other one named "osztaly".所以最后一个不会让它成为选择框来填充,就像另一个名为“osztaly”的框。 I think i have a problem with the IF tag in the javascript because the values can't compare :)我想我在 javascript 中的 IF 标签有问题,因为这些值无法比较:)

You have overwritten your own select box via javascript您已经通过 javascript 覆盖了自己的选择框

Change this code更改此代码

 var onosztaly = 
   '<select class="select-selected" name="osztaly">'+

To

 var onosztaly = 
   '<select class="select-selected" id="2" onchange="checksubject()" name="osztaly">'+

it will work, means both the ID of the select box and the change event is lost when date is changed它将起作用,这意味着更改日期时,选择框的 ID 和更改事件都会丢失

to be frank your design is not good, there are effective methods to add options and remove options, innerHTML is very old style坦白说你的设计不是很好,有有效的方法来添加选项和删除选项,innerHTML是很老的风格

the question text shows -- javascript getting PHP values -- this understanding is wrong问题文本显示javascript getting PHP values ——这种理解是错误的

your entire code rendered as running HTML and given to browser, there is no more PHP in browser, only browser coding you are doing for drop down change您的整个代码呈现为运行 HTML 并提供给浏览器,浏览器中不再有 PHP,只有您正在为下拉更改所做的浏览器编码

so when you think that are actually reading values from PHP, that is not a correct understanding所以当你认为实际上是从 PHP 读取值时,这不是一个正确的理解

you are directly reading HTML components value only in javascript您仅在 javascript 中直接读取 HTML 组件值

As Dickens got the right way to make the code work, here is an example of correct output.由于狄更斯找到了使代码工作的正确方法,以下是正确输出的示例。 Essentially source has some minor errors, which were eliminated here本质上 source 有一些小错误,这里已经消除了

 function checkclass() { var het = document.getElementById('1').value; if(1<=het){ var onosztaly = '<select class="select-selected" id="2" onchange="checksubject()" name="osztaly">'+ '<option disabled selected value>class</option>'+ '<option value="class1">class1</option>'+ '<option value="class2">class2</option>'+ '<option value="class3">class3</option>'+ '<option value="class4">class4</option>'+ '<option value="class5">class5</option>'+ '<option value="class6">class6</option>'+ '<option value="class7">class7</option>'+ '</select>'; document.getElementById("class").innerHTML =(onosztaly); } } function checksubject() { var onsub = '<select class="select-selected" name="tantargy">'+ '<option disabled selected value>subject</option>'+ '<option value="subject1">subject1</option>'+ '<option value="subject2">subject2</option>'+ '<option value="subject3">subject3</option>'+ '<option value="subject4">subject4</option>'+ '</select>'; document.getElementById("subject").innerHTML =(onsub); }
 <div class="content"> <h1>Üdvözöllek, 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">date1</option> <option value="2">Date2</option> <option value="3">Date3</option> </select> </div > <div> <a id="class"> <select class="select-selected" id="2" onchange="checksubject()" name="osztaly"> <option disabled selected value>Class</option></select> </a> <a id="subject"> <select class="select-selected" id="3" name="tantargy"> <option disabled selected value>Subject</option></select> </a> <a id="bontotte"></a> <a id="classtwo"></a> </div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我的JavaScript没有在CodePen中运行,我也不知道这是否是我的代码中的错误 - My JavaScript isn't running inside CodePen and I don't know if it's a bug with my code or not 我不知道我必须将javascript代码放在php代码的哪一行 - I don't know which line that I have to put the javascript code in the php code 我知道为什么我会收到意外的 { 令牌,但当我的 php 需要将数据集合发送到 javascript 时,我不知道如何修复它 - I know why I am getting unexpected { token but I don't know how to fix it when my php needs to send collection of datas to javascript Javascript:如果我不知道对象的密钥,如何访问嵌套对象中的值? - Javascript: How do I access values in nested objects if I don’t know the object’s key? 不知道如何解决(在PHP和Javascript之间) - Don't know how to solve (Between Php and Javascript) 通过javascript函数由ajax生成的带有php插入值的表单-当我通过id检查它们时元素不存在吗? - ajax-generated form with php-inserted values via javascript function— elements don't exist when I check them by id? 代码无法正确运行,我不知道会发生什么。 只需复制现有的开发工作,然后尝试运行它并得到错误 - Code doesn't run Properly, i don't know what happen. Just copy the existing dev work, And try to run it and getting errors 我不知道如何打印数组的所有值 - I don't know how to print all the values ​of an array javascript 我不知道如何使用 getItem 获取特定对象 - javascript I don't know how to get a specific object with getItem 我不知道如何修复 javascript func 中的这个错误 - I don't know how to fix up this bug in javascript func
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM