Предположительно, у меня есть опция выбора. Таблица должна отображать только строку в таблице, основываясь на моей опции в теге select.
Допустим, я выбрал первый вариант, и его значение равно A, остальные строки, которые не содержат только «A», будут скрыты. Но когда дело доходит до опции BB, предположительно в таблице отображается только строка, содержащая только текст «BB», третья строка успешно скрыта, но затем первая строка все еще там.
$(document).ready(function() {
$("button").click(function() {
var searchString = $('#enter').find(":selected").text();
$("#mytable tr td:contains('" + searchString + "')").each(function() {
if ($(this).text() != searchString) {
$(this).parent().hide();
} else {
$(this).parent().show();
}
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="enter">
<option value="A">A</option>
<option value="BB">BB</option>
<option value="CCC">CCC</option>
</select>
<button>Set text content for all p elements</button>
<table border="0" align="center" width="45%" cellpadding="2" cellspacing="2" id="mytable">
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>AA</td>
<td>BB</td>
<td>CC</td>
</tr>
<tr>
<td>AAA</td>
<td>BBB</td>
<td>CCC</td>
</tr>
</table>
Мой jQuery корректен или имеет логическую ошибку?