Php 选中时更改包含复选框属性的div
这是我的javascript,允许筛选搜索字段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
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>