问题描述
我有一个表单字段:1-输入文本和一个按钮...
<form action="#">
<input type="text" id="desc" value="">
<input name="submit" tabindex="1" value="Update" type="submit" onclick="validate()">
</form>
这是我的锚标签
<ul>
<li><a class="gen" href="#"> Jan</a></li>
<li><a class="gen" href="#"> Feb </a></li>
<li><a class="gen" href="#"> March </a></li>
</ul>
javascript中有没有一种方法可以检查input的值并与anchor标签的值进行匹配?
如果存在匹配项,则发出alert(match)
。
如果不是,那么alert(not)
?
不区分大小写-如果输入值为"jan"
或"jAn"
则仍然匹配。
1楼
Tushar
0
2015-08-07 15:02:44
您可以尝试以下代码
$("#valid").click(function(e) { e.preventDefault(); var f = 0; $(".gen").each(function() { if ($(this).text().toLowerCase().trim() === $("#desc").val().toLowerCase().trim()) { f = 1; alert("match"); } }); if (f == 0) alert("No Match"); })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form action="#"> <input type="text" id="desc" value=""> <input name="submit" id="valid" tabindex="1" value="Update" type="submit"> </form> and here is the my anchor tag <ul class="tags"> <li><a class="gen a" href="#"> Jan</a> </li> <li><a class="gen" href="#"> Feb </a> </li> <li><a class="gen" href="#"> March </a> </li> </ul>
2楼
wpercy
0
已采纳
2015-08-07 15:15:51
这应该是纯JavaScript解决方案
function validate(){
var val = document.getElementById("desc").value.trim().toLowerCase();
var a_list = document.getElementsByClassName("gen");
var content;
for(var i=0;i<a_list.length;i++){
content = a_list[i].innerHTML.trim().toLowerCase();
if(content == val){
alert('match');
return;
}
}
alert('no match');
return;
}
3楼
wast
0
2015-08-07 15:19:46
function validate() {
var flag = false;
var x = document.getElementById("desc");
x = x.value;
var y = document.getElementsByClassName("gen");
for (var i = 0; i < y.length; i++) {
if(x.toLowerCase().trim() == y[i].innerHTML.toLowerCase().trim()){
flag = true;
}
}
if (flag) {
alert("y");
} else {
alert("n");
}
}
干得好。 这应该工作。