如果输入值包含以下任何字母(并且仅匹配字母),我试图隐藏文本。目前它由任何字母触发,而不仅仅是“英格兰”字样中的字母。而且我不明白为什么。非常感谢任何帮助。
SELECT table1.name, table2.unique_identifier
FROM table1
LEFT JOIN table2
ON table1.id = table2.table1_id

var input = document.getElementById("input1")
$("#input1").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
$("input").submit();
}
});
input.addEventListener("keyup", function() {
if ($("input[value*='england']")) {
$('#etext').hide();
}
});

答案 0 :(得分:6)
这不是正确的检查:
if ($("input[value*='england']")) {
您需要通过以下方式进行更改:
if ($("input").val().toLowerCase().indexOf("england") === 0) {
以上代码:
<input>
。england
的索引是否为起始索引。同样,你不需要混淆纯JavaScript和jQuery。使用相同的代码,并将所有内容都包含在document
&#39; ready
事件中。
$(function() {
var input = document.getElementById("input1");
$("#input1").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
$("input").submit();
}
});
$("#input1").on("keyup", function () {
if ($(this).val().toLowerCase().indexOf("england") === 0) {
$('#etext').hide();
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input1" type="text" value="" placeholder="Search.. ." />
<p id="etext">England</p>
&#13;
注意:重要的是要了解value属性不会反映用户输入,但value属性会反映。此外,if ($(selector))
将始终是真实的,因为$()返回一个对象
最后,请以分号;
结束语句。好的做法。