Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将下拉列表中的字符串部分与javascript中的文本框进行比较_Javascript - Fatal编程技术网

将下拉列表中的字符串部分与javascript中的文本框进行比较

将下拉列表中的字符串部分与javascript中的文本框进行比较,javascript,Javascript,我必须将下拉列表中的字符串值与文本框中输入的字符串进行比较。前4个数字本身必须进行比较,如果匹配-通过。。 仅供参考-文本框将有16个数字,但它只能比较前四个数字 下面的问题是——当我尝试输入四个以上的数字时,它不起作用 谢谢 <script> function display() { var a=document.getElementById("myList"); var dropdownvalue = a.

我必须将下拉列表中的字符串值与文本框中输入的字符串进行比较。前4个数字本身必须进行比较,如果匹配-通过。。 仅供参考-文本框将有16个数字,但它只能比较前四个数字

下面的问题是——当我尝试输入四个以上的数字时,它不起作用

谢谢

<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)得到前四个数字;