0

とにかくこれを行うことはありますか:

    if (document.getElementById("x").value == 2 || document.getElementById("x").value == 3) {
         //Do somthing
    }

# このような方法でシンプルにすることはできますか?試してみましたが、うまくいきませんでした:

    if (document.getElementById("x").value == 2 || 3) {
         //Do somthing
    }
4

9 に答える 9

5

何らかの理由でそのスコープで別の変数を宣言したくない場合は、他の回答の代わりとして:

if (["2", "3"].indexOf(document.getElementById("x").value) > -1) {
    // Do something
}

古いブラウザはサポートしていないため、それを処理するにはポリフィルArray.prototype.indexOfを含める必要があることに注意してください。

于 2013-04-11T13:58:25.307 に答える
0

以下のようにしてみてください。

フィドル: http://jsfiddle.net/RYh7U/129/

脚本:

var value = document.getElementById("x").value;
if ((value in [,1,2]))
alert("Do SomeThing");

完全なスクリプト:

<html>
<head>
<script type='text/javascript'>

function check()
{
   var value = document.getElementById("txtin").value;
   if ((value in [,1,2,3]))
     alert("Do SomeThing");
}

</script>
</head>
<body>
    <a href="#" onclick='check()'>check</a>
    <input type="text" id="txtin"/>
</body>
</html>
于 2013-04-11T14:01:59.430 に答える
0

これを試して

var x=document.getElementById("x").value;

if (x == 2 || x == 3) {
         //Do somthing
    }
于 2013-04-11T14:02:09.833 に答える
0
var myValue = document.getElementById("x").value;

if(myValue == 2 || myValue == 3) {
    //...
}
于 2013-04-11T13:57:51.927 に答える