我需要帮助检查某个单词是否包含在输入文本框中的字符串中。例如,如果有一个字符串值分配给此textbox
<input type="text" id="StartLocation" name="StartLocation" value="1 AAC, MT SECTION, RAF SCAMPTON, LINCOLN, LN1 2ST, UNITED KINGDOM" >
我想检查它是否包含" UNICEKDOM "一词,如果没有,则应返回false。我在下面尝试了这样的事情,但它一直返回真实,因为警报消息总是"包含英国",即使我已经更改值。
if ($("input#StartLocation:contains('UNITED KINGDOM')")) {
alert('It contains United Kingdom');
} else {
alert('It does not contains United Kingdom');
}
我该如何解决?谢谢...
您不使用:contains
测试<input>
元素的值,它适用于<div>
和<span>
等容器。使用.val()
获取值,然后使用普通的字符串方法。
if ($("input#StartLocation").val().indexOf("UNITED KINGDOM") != -1)
尝试此
if ($("#StartLocation").val().indexOf('UNITED KINGDOM') >= 0) {
}
尝试这种方式。使用indexOf
。
var value = $("#StartLocation").val();
if(value.indexOf("UNITED KINGDOM") != -1)
alert("true");
else
alert("false");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="StartLocation" name="StartLocation" value="1 AAC, MT SECTION, RAF SCAMPTON, LINCOLN, LN1 2ST, UNITED KINGDOM">
我更喜欢这种方法,因为它更可读。但是请先检查浏览器兼容性。
if ($("#StartLocation").val().includes('UNITED KINGDOM')) {
//your code
}
您可以尝试val()
和indexOf
if ($("input#StartLocation").val().indexOf('UNITED KINGDOM')>-1)) {
//.. ToDO
}