Php 选中时更改包含复选框属性的div

Php 选中时更改包含复选框属性的div,php,javascript,html,Php,Javascript,Html,这是我的javascript,允许筛选搜索字段 function escape4regex(text) { return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); } function searchRegExFieldKeyUp() { var table = document.getElementById('ModelFilter'); var cells = table.getElementsByTagN

这是我的javascript,允许筛选搜索字段

function escape4regex(text)
{
  return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
}

function searchRegExFieldKeyUp()
{
    var table = document.getElementById('ModelFilter');
    var cells = table.getElementsByTagName('div');
    var searchterms = escape4regex(this.value);

    var regVar = '(?=.*' + searchterms.replace(/\s/g, '.*)(?=.*') + '.*)';
    var i=cells.length;
    while (i--)
    {
       var cell = cells[i];

       var rowStr = cell.innerHTML;
       // remove all tags
      rowStr = rowStr.replace(/<(?:.|\n)*?>/gm, '').replace(/\n|\s{2,}/gm, ' '); // searches  whole row 

      var regex = new RegExp(regVar,"gi");
      var result = (regex.test(rowStr));

     if(result)
     {
        cell.style.display = "";// check if compat with IE
     }
     else
     {
       cell.style.display = "none";
     }
   }
} 
函数escape4regex(文本)
{
返回text.replace(/[-[\]{}()*+?,\\^$\\s]/g,“\\$&”);
}
函数searchRegExFieldKeyUp()
{
var table=document.getElementById('ModelFilter');
var cells=table.getElementsByTagName('div');
var searchterms=escape4regex(this.value);
var regVar='(?=.'+searchterms.replace(/\s/g,'.*)(?=.'''+'.');
var i=单元长度;
而(我--)
{
var单元=单元[i];
var rowStr=cell.innerHTML;
//删除所有标签
rowStr=rowStr.replace(//gm',)。replace(//\n |\s{2,}/gm',);//搜索整行
var regex=新的RegExp(regVar,“gi”);
var结果=(regex.test(rowStr));
如果(结果)
{
cell.style.display=”“;//检查是否与IE兼容
}
其他的
{
cell.style.display=“无”;
}
}
} 
这将从数据库输入创建复选框

<div id="ModelFilter">
<?php 
while ($row = mysqli_fetch_assoc($result))
{
    echo"<div class=\"modelfilter_td\" id=\"modelfilter_td\">";
        echo"<input type=\"checkbox\" id = \"$row[ModelID]\" 
            name = \"selectedModels[]\"value =\"$row[Model]\" onclick=\"chkcontrol.apply(this);\">";
        echo "$row[Model]";
    echo"</div>";
}
echo"</div>";


这不是针对您的问题的解决方案,而是关于在html上下文中使用php的建议:

<div id="ModelFilter">
    <?php while ($row = mysqli_fetch_assoc($result)): ?>
    <div class="modelfilter_td" id="modelfilter_td">
        <input  
            type="checkbox"
            id="<?php echo $row['ModelID'] ?>" 
            name="selectedModels[]"
            value="<?php echo $row['Model'] ?>"
            onclick="chkcontrol.apply(this);"
        >
        <?php echo $row['Model'] ?>
    </div>
    <?php endwhile ?>
</div>


这使大多数IDE能够处理HTML自动完成和代码分析。

我在结尾处得到一个意外的$end,而在隔离环境中,此代码是有效的。你1:1复制代码了吗?如果没有,您是否注意到while()语句末尾的双冒号?如果是:上下文是否正确?这段代码不会在PHP上下文中运行/(想想?>)。
<div id="ModelFilter">
    <?php while ($row = mysqli_fetch_assoc($result)): ?>
    <div class="modelfilter_td" id="modelfilter_td">
        <input  
            type="checkbox"
            id="<?php echo $row['ModelID'] ?>" 
            name="selectedModels[]"
            value="<?php echo $row['Model'] ?>"
            onclick="chkcontrol.apply(this);"
        >
        <?php echo $row['Model'] ?>
    </div>
    <?php endwhile ?>
</div>