2012-02-14 10 views
0

特定のフィールドを条件付きで検証する必要があります。例えば、私が選択し、次があります:「オプション4」が選択されているjQueryはフィールドを条件付きで検証します

<select name="new_jobType"> 
<option value="">Please select</option> 
<option value="1">option 1</option> 
<option value="2">option 2</option> 
<option value="3">option 3</option> 
<option value="4">option 4</option> 
</select> 

場合は、私が検証する5-6他の選択フィールドを含める必要があります。

ご協力いただければ幸いです。

答えて

1

私はこのような何かがありますちょうどその検証アレイ上に実行するために必要な任意の検証ルーチンを押し、その後に提出

var validations = new Array(); 

$('select[name="new_jobType"]').change(function() { 
    var thisJob = $(this + " option:selected").val(); 

    if(thisJob == 4) { 
     validations.push("thisJobValidations"); 
    } 
}); 

を:

for(var i = 0; i < validations.length; i++) { 
    eval(validations[i] + "();"); 
} 

をそして、あなたは(機能を持っているでしょう実際の検証を行うには:

function thisJobValidations() { 
    // validation magic happens here 
} 

eval()彼forループはvalidations配列にプッシュされたものに基づいて検証ルーチンを実行します。

このようにして、どのような条件が満たされたかに基づいて検証を分割することができます。エラーが発生しやすいモノリシック検証関数を作成する必要はありません。

すべてのものをカプセル化します。 :-)