将下拉列表中的字符串部分与javascript中的文本框进行比较
我必须将下拉列表中的字符串值与文本框中输入的字符串进行比较。前4个数字本身必须进行比较,如果匹配-通过。。 仅供参考-文本框将有16个数字,但它只能比较前四个数字 下面的问题是——当我尝试输入四个以上的数字时,它不起作用 谢谢将下拉列表中的字符串部分与javascript中的文本框进行比较,javascript,Javascript,我必须将下拉列表中的字符串值与文本框中输入的字符串进行比较。前4个数字本身必须进行比较,如果匹配-通过。。 仅供参考-文本框将有16个数字,但它只能比较前四个数字 下面的问题是——当我尝试输入四个以上的数字时,它不起作用 谢谢 <script> function display() { var a=document.getElementById("myList"); var dropdownvalue = a.
<script>
function display()
{
var a=document.getElementById("myList");
var dropdownvalue = a.options [a.selectedIndex].text;
var b=document.getElementById("myText").value;
if(dropdownvalue == b) {
document.getElementById("result").innerHTML = "Pass";
}
else {
document.getElementById("result").innerHTML= "Fail";
}
}
</script>
函数显示()
{
var a=document.getElementById(“myList”);
var dropdownvalue=a.options[a.selectedIndex].text;
var b=document.getElementById(“myText”).value;
if(dropdownvalue==b){
document.getElementById(“结果”).innerHTML=“通过”;
}
否则{
document.getElementById(“结果”).innerHTML=“失败”;
}
}
请使用indexOf属性,您可以解决以下问题:
if (dropdownvalue.indexOf(b) > 0) {
// todo
}
您正在使用相等比较(
=
)比较dropdownvalue
和b
的值。如果只想比较前四个字符,则只需检索前四个字符并进行比较。有两种不同的选择
选项1:子字符串
if(dropdownvalue==b.substring(0,4)){
...
}
选项2:String.prototype.startsWith
if(b.startsWith(dropdownvalue)){
...
}
您没有说
dropdownvalue
是否总是四个字符,或者是否也更长。如果dropdownvalue
也可以超过四个字符,则需要在两个选项中将子字符串应用于它:dropdownvalue。子字符串(0,4)
子字符串将帮助您在使用下拉值进行条件检查之前获取前4个字符。大概
if(dropdownvalue == b.substring(0, 4)) {
document.getElementById("result").innerHTML = "Pass";
}
请参见:如果b
的值在dropdownvalue
中的任意位置,则添加html部分indexOf(b)>0
将返回true。OP说他想比较前四个字符。这是一种方法,不管怎样,你可以使用b.substring(0,4)得到前四个数字;