Javascript 此语法错误的原因可能是什么

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

我在脚本标记中有一些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_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>";