我需要将一个JavaScript变量与一个php变量进行比较。比较JavaScript和PHP变量
var other = <?php echo $element; ?>;
if(exam == other){
这是比较这些变量的正确方法吗?它不工作,但也许问题是别的。 的代码是在函数excamTables使用()下面,
function examTables(){
var exam = this.value;
console.log(exam);
var resultArray = [];
<?php foreach($exams as $element): ?>
var other = <?php echo $element; ?>;
if(exam == other){
resultArray = <?php echo json_encode($subs[$element], JSON_PRETTY_PRINT); ?>;
}
<?php endforeach; ?>
var strOption = "";
strOption = "<table>";
var keys1 = Object.keys(resultArray);
keys1.forEach(function(item1){
var keys2 = Object.keys(resultArray[item1]);
keys2.forEach(function(items2){
var keys3 = Object.keys(resultArray[item1][items2]);
value = resultArray[item1][items2];/*Need to not repeat subjects. This should be done in php file when selecting from DB*/
strOption += "<tr><td>" + value + "</td></tr>";
});
});
strOption += "</table>";
var table = document.getElementById("examTables");
var row = document.createElement("tr");
var cell = document.createElement("td");
cell.innerHTML = strOption;
row.appendChild(cell);
table.appendChild(row);
}
var checkboxes = document.getElementsByClassName('year');
for(var index in checkboxes){
//bind event to each checkbox
checkboxes[index].onchange = examTables;
}
这篇文章post讨论了这一点,并使用
echo json_encode($element);
所以,我想这一点,但它不工作,
function examTables(){
var exam = this.value;
console.log(exam);
var resultArray = [];
<?php foreach($exams as $element): ?>
var other = <?php echo json_encode($element); ?>;
if(exam == other){
resultArray = <?php echo json_encode($subs[$element], JSON_PRETTY_PRINT); ?>;
}else{
resultArray = <?php echo json_encode($subs['AP'], JSON_PRETTY_PRINT); ?>;
}
<?php endforeach; ?>
var strOption = "";
strOption = "<table>";
var keys1 = Object.keys(resultArray);
keys1.forEach(function(item1){
var keys2 = Object.keys(resultArray[item1]);
keys2.forEach(function(items2){
var keys3 = Object.keys(resultArray[item1][items2]);
value = resultArray[item1][items2];/*Need to not repeat subjects. This should be done in php file when selecting from DB*/
strOption += "<tr><td>" + value + "</td></tr>";
});
});
strOption += "</table>";
var table = document.getElementById("examTables");
var row = document.createElement("tr");
var cell = document.createElement("td");
cell.innerHTML = strOption;
row.appendChild(cell);
table.appendChild(row);
}
谢谢,
你如何比较它们看起来确定。什么是返回$元素变量?使用var_dump。 – Ionut