Я пытаюсь удалить строку на основе значения ячейки таблицы.Как удалить строку в html на основе значения ячейки
На моей странице HTML у меня есть простая функция поиска. Он отправил значения в текстовое поле в базу данных через ajax, затем PHP, а затем PHP создаст таблицу динамически на основе того, что находится в базе данных.
Я попытался проверить ячейку в таблице на определенное значение, так что если она истинна, то текущая строка будет удалена, имя функции - checkMatch()
. Однако это не сработает.
Это кнопка в HTML, остальная часть HTML это просто текстовое поле и выпадающее окно:
<input type="button" id="device_search" value="Search" onclick="searchDevice(); checkMatch();"></input>
Это функция во внешнем JavaScript файл:
function checkMatch()
{
var row = document.getElementById("thisRow");
var cell = Row.getElementById("match");
if(cell[0].innerText = "0%")
{
row.deleteRow(this);
}
}
А вот творящий таблицы в PHP:
if($num_row)
{
echo "<table id=\"myTable\" border=\"1\">";
echo "<tr>
<th>Board ID</th>
<th>Tester Name</th>
<th>Board Name</th>
<th>Current Slot</th>
<th>Log Created</th>
<th>Required Slot</th>
<th>Match</th>
</tr>";
while($row = mysql_fetch_assoc($result))
{
$board_id = $row['board_id'];
$tester_name = $row['tester_name'];
$board_name = $row['board_name'];
$config = $row['config'];
$log_created = $row['log_created'];
$req_config = $row['configuration'];
$exploded = explode(",", $req_config);
$count = count($exploded);
$j = 0;
foreach($exploded as $value)
{
$number = strlen($value);
$arr = str_split($value, $number);
if(in_array($config, $arr))
{
$j += 1;
$j /= ($count/100);
echo $j;
}
else
{
}
}
echo "<tr id = \"thisRow\">
<td>$board_id</td>
<td>$tester_name</td>
<td>$board_name</td>
<td>$config</td>
<td>$log_created</td>
<td>$req_config</td>
<td id = \"match\">$j%</td>
</tr>";
}
echo "</table>";
}
столбец, я проверяю на это л столбец ast, который является колонкой Match
. Моя идея - удалить эту текущую строку всякий раз, когда значение ячейки Match
равно 0%
. Я не могу найти, что не так с моими кодами, я не очень хорошо манипулирую с элементами DOM, чтобы не было ошибок. Любая помощь по этому поводу? Или есть другие способы, через PHP и т. Д.?
Примечание: я не пытаюсь удалить строку из базы данных. Я просто хочу удалить строку, когда Match
- 0%
.
EDIT, коды searchDevice()
во внешнем файле JS:
function searchDevice()
{
var device_name = $("#device_name").val();
var tester_type = $("#tester_type").val();
var page = "database.php";
if(device_name==""||tester_type=="")
{
alert("Please do not leave any blanks.");
}
else
{
$.post(page, {
device_name : device_name,
tester_type : tester_type,
action : "search"
}, function(data) {
$("div#display_board").html(data);
checkMatch();
});
}
}
В настоящее время мой стол имеет дисплей со всеми нужными значениями, но это не приводит к удалению строки с 0%.
если 'searchDevice()' является вызовом ajax, к тому времени, когда проверяется 'checkMatch()', результат поиска еще не возвращен. Вам нужно выполнить 'checkMatch()' внутри 'searchDevice()' callback – Neverever
@Невероятно, как вы предложили, такая же проблема. – hzq
, пожалуйста, отправьте код для 'searchDevice()', также идентификатор строки должен быть уникальным 'id =" thisRow "' – Neverever