2012-01-20 24 views
0

私はあらゆる種類の入力を受け入れることができるテキストフィールドを持っています。入力に基づいて、いくつかのフィールドを非表示にし、他のフィールドを非表示にする必要があります。しかし、私は、入力値ここ入力Jqueryの開始文字の値を確認してください

の最初の3つの文字を確認するために最初の条件の中に別の条件を入れたい最初の条件のための私のコードは次のとおりです。

$("#accountcodes").live("focusout",function(){ 
    var code = $(this).val(); 
    if(code>30000){ 
    alert("T1 to T4 codes needed"); 
    $(this).parents("tr").find('#T1').removeAttr('hidden','hidden'); 
    $(this).parents("tr").find('#T2').removeAttr('hidden','hidden'); 
    $(this).parents("tr").find('#T3').removeAttr('hidden','hidden'); 
    $(this).parents("tr").find('#T4').removeAttr('hidden','hidden');  

    } 

    }) 

私は内の別の条件を入れたいです最初の3文字が310または311で始まるかどうかを調べるif文(if内であれば)。次にユーザーが31102を入力した場合など、別のフィールドが非表示になっているなど、Jqueryでそれを行う方法がわかりません。私は正規表現を使用する必要がありますか?私は入力の価値を取り、最初の3文字を切り出してそれをチェックするのですか? 助けていただければ幸いです

答えて

3

だから、substr()について知りたいですか? code.substr(0,3)は最初の3文字を取得します。

また正規表現を使用して310と311を見つけやすくしたい場合は、代わりにcode.match(/^31[01]/)が必要です。

+0

答えは最初です。私はあなたの答えを正しいものとして授与します。部分文字列とそれ以外については知りませんでした。 – MaxI

2
 

var code = $(this).val(); 
var firstThreeChars = code.substr(0, 3); 
 
2

あなたの値は常に数値であるようです。あなたはこれを達成するために多くのjqueryを必要としません。

$("#accountcodes").live("focusout",function(){ 
    var code = $(this).val(); 
    if(code > 30000){ 
     //Note: For any non-numeric value, this condition will always be false 

     alert("T1 to T4 codes needed"); 
     var p = $(this).parents("tr"); 
     p.find('#T1, #T2, #T3, #T4').removeAttr('hidden'); 

     if ((code - 31000) > 102){ // Your other condition check can look like this 
      // unhide other fields 
     } 
    } 
}); 

希望すると、これが役立ちます。ハッピーコーディング。

1

あなたの質問は、あなたがそれを多くの方法

  1. サブ文字列値を行い、値を確認することができ、あなたの答えを持っています。 2.jpはjqueryのキーワードを含んでいます[api.jquery.com/contains-selector/][1]
関連する問題