Javascript 此语法错误的原因可能是什么
我在脚本标记中有一些php代码。但是我的一些行出现了错误。我不明白为什么会出现错误 语法错误:缺少;声明前Javascript 此语法错误的原因可能是什么,javascript,php,Javascript,Php,我在脚本标记中有一些php代码。但是我的一些行出现了错误。我不明白为什么会出现错误 语法错误:缺少;声明前 var item_container=document.getElementById('item-container'); var项目_计数=; 列的变量编号=Math.ceil(项目计数/3); var item_container_width=item_container.offsetWidth; var each_column_width=(项目_容器_width/no_of_co
var item_container=document.getElementById('item-container');
var项目_计数=;
列的变量编号=Math.ceil(项目计数/3);
var item_container_width=item_container.offsetWidth;
var each_column_width=(项目_容器_width/no_of_column)-3+'px';
对于(i=0;i如果$item->item\u Type
是一个字符串值,那么问题(或问题)在于您连接它时没有加引号。因此,如果类型是,比如说“red thing”
,浏览器看到的代码是:
item_container.firstChild.innerHTML+=
"<input type='checkbox' name='item' value='item1'>"+red thing+"</br>";
如果PHP生成的peace中没有要执行的动态代码,您可以直接插入字符串。但是,您应该转义反斜杠和双引号,因为JavaScript代码使用双引号作为分隔符,JavaScript字符串中的反斜杠被视为后续字符的转义代码
item_container.firstChild.innerHTML+="<input type='checkbox' name='item' value='item1'><?php echo str_replace([ '\\', '"'], [ '\\\\', '\\"'], $item->Item_Type); ?></br>";
item\u container.firstChild.innerHTML+=”我找到了一个解决方案。它是在对象文本中为每一行赋值,然后遍历对象并将其属性值赋给复选框
var item_container=document.getElementById('item-container');
<?php if(isset($item_count)){ ?>
var item_count=<?php echo $item_count; }?>;
var no_of_column=Math.ceil(item_count/3);
var item_container_width=item_container.offsetWidth;
var each_column_width=(item_container_width/no_of_column)-3+'px';
for(i=0;i<no_of_column;i++){
var column_div="<div style='height:100%;width:"+each_column_width+";float:left;position:relative;'></div>";
item_container.innerHTML+=column_div;
}
var array_holder=[];
<?php if(isset($items)){foreach($items as $item){?>
var obj={
id :"<?php echo $item->Type_id; ?>",
item:"<?php echo $item->Item_Type; ?>"
};
array_holder.push(obj);
<?php
}
}
?>
var only_divs=item_container.getElementsByTagName('div');
var array_counter=0;
var column_index=0;
array_holder.forEach(function(element,index,array){
if(array_counter<3){
only_divs[column_index].innerHTML+= "<li style='margin-left:5px;margin-top:3px;'><input type='checkbox' style='outline:1px solid blue;' name='item' value='"+element.id+"'>"+element.item+"</li></br>";
array_counter++;
}else{
column_index++;
only_divs[column_index].innerHTML+= "<li style='margin-left:5px;margin-top:3px;'><input type='checkbox' style='outline:1px solid blue;' name='item' value='item1'>"+element.item+"</li></br>";
array_counter=0;
}
});
only_divs[0].innerHTML+= "<li style='margin-left:5px;margin-top:3px;'><input type='checkbox' style='outline:1px solid blue;' name='item' value='0'>other</li></br>";
var item_container=document.getElementById('item-container');
var项目_计数=;
列的变量编号=Math.ceil(项目计数/3);
var item_container_width=item_container.offsetWidth;
var each_column_width=(项目_容器_width/no_of_column)-3+'px';
对于(i=0;i
var only_divs=item_container.getElementsByTagName('div');
变量数组_计数器=0;
var列_指数=0;
数组\u holder.forEach(函数(元素、索引、数组){
if(array)也会反说明错误。为什么你的js和php一起在
中?有点奇怪你把php和js混合了很多时间,而且完全搞砸了。他可能有原因。让我们等待他混合php和jsIs的原因$item->item\u类型
字符串?
item_container.firstChild.innerHTML+=
"<input type='checkbox' name='item' value='item1'><?php echo $item->Item_Type; ?></br>";
// note that the "+ and +" is gone from here ------^-------------------------------^
item_container.firstChild.innerHTML+="<input type='checkbox' name='item' value='item1'><?php echo str_replace([ '\\', '"'], [ '\\\\', '\\"'], $item->Item_Type); ?></br>";
var item_container=document.getElementById('item-container');
<?php if(isset($item_count)){ ?>
var item_count=<?php echo $item_count; }?>;
var no_of_column=Math.ceil(item_count/3);
var item_container_width=item_container.offsetWidth;
var each_column_width=(item_container_width/no_of_column)-3+'px';
for(i=0;i<no_of_column;i++){
var column_div="<div style='height:100%;width:"+each_column_width+";float:left;position:relative;'></div>";
item_container.innerHTML+=column_div;
}
var array_holder=[];
<?php if(isset($items)){foreach($items as $item){?>
var obj={
id :"<?php echo $item->Type_id; ?>",
item:"<?php echo $item->Item_Type; ?>"
};
array_holder.push(obj);
<?php
}
}
?>
var only_divs=item_container.getElementsByTagName('div');
var array_counter=0;
var column_index=0;
array_holder.forEach(function(element,index,array){
if(array_counter<3){
only_divs[column_index].innerHTML+= "<li style='margin-left:5px;margin-top:3px;'><input type='checkbox' style='outline:1px solid blue;' name='item' value='"+element.id+"'>"+element.item+"</li></br>";
array_counter++;
}else{
column_index++;
only_divs[column_index].innerHTML+= "<li style='margin-left:5px;margin-top:3px;'><input type='checkbox' style='outline:1px solid blue;' name='item' value='item1'>"+element.item+"</li></br>";
array_counter=0;
}
});
only_divs[0].innerHTML+= "<li style='margin-left:5px;margin-top:3px;'><input type='checkbox' style='outline:1px solid blue;' name='item' value='0'>other</li></br>";