我使用以下php + mysql代码生成一个复选框列表,其中包含员工姓名及其员工ID作为该特定复选框的值。
<?php
while($row = mysqli_fetch_array($run_qry))
{
echo "<input type='checkbox' name='emply[]'
value='91".$row['empid']."'>".$row['fname']." ".$row['lname'];
echo "<br>";
}
?>
通过这段代码,我得到了员工列表,现在我想在此列表上方搜索一个搜索框,以便搜索生成的列表,这样我就可以轻松选择特定的员工。 帮助我解决这个问题。 提前谢谢。
答案 0 :(得分:0)
嗯,要在客户端解决这个问题,你需要一个JS解决方案。
只需用BD的结果集替换数组示例。
<script>
// the function searches in elements with class 'class_searh' the string 'string_searh'
function search(class_searh, string_searh) {
//get elements
var class_searh_elements = document.getElementsByClassName(class_searh);
//get string
var string = string_searh.toString();
//loop for each element
for (var i = 0; class_searh_elements.length > i; i++) {
//get the data on child element on 'class_searh_elements'
var text_data = class_searh_elements[i].childNodes[0].data;
//if maches add the class wich hides the element
if (text_data.search(string) < 0) {
class_searh_elements[i].classList.add('hidden');
//if don't maches remove the class wich hides the element
} else {
class_searh_elements[i].classList.remove('hidden');
}
}
}
</script>
<!--class that hides -->
<style>
.hidden { display: none; }
</style>
<?php
//array example
$run_qry = [
['empid' => 1, 'fname' => 'john', 'lname' => 'john'],
['empid' => 2, 'fname' => 'mary', 'lname' => 'anne'],
['empid' => 3, 'fname' => 'mc', 'lname' => 'donalds'],
];
echo "<input type='text' name='string_seach' id='string_search' value='' onkeydown='search(\"elements_class\",this.value)' /> <hr>";
foreach ($run_qry as $row) {
echo "<label class='elements_class'>" . $row['fname'] . " " . $row['lname'] . "<input type='checkbox' name='emply[]' value='91" . $row['empid'] . "' /><br></label>";
}
&GT;