0

JavaScript にはQuestion_typeとのような 2 つの変数があります。Answer_type

値のないがあり、次のように条件を確認してにhidden_fieldを挿入したい:valuehidden_fieldQuestion_typeAnswer_type

If Question_type == 'A' && Answer_type == 'B' {
    hidden_field = 1;
} else if Question_type == 'A' && Answer_type !== 'B' {
    hidden_field = 2;
} else if Question_type !== 'A' && Answer_type == 'B' {
    hidden_field = 3;
{ else if Question_type !== 'A' && Answer_type !== 'B' {
    hidden_field = 4;
}

この概念を短い形式または JavaScript のクリーンな方法で行う方法は? JSfiddle の例は、より高く評価されます。

4

5 に答える 5

4

getElementByIdID で非表示にするために使用します。

 var hidden_field = document.getElementById('HiddenFieldId');
 hidden_field.value = 1;
于 2012-10-11T13:55:35.497 に答える
3

コードを短縮するための 1 つのオプションを次に示します。

var isA = Question_type == 'A',
    isB = Answer_type == 'B';

hidden_field =  isA &&  isB ? 4 :
                isA && !isB ? 3 :
               !isA &&  isB ? 2 :
                              1;

ここに別のものがあります:

if (Question_type == 'A')
    if (Answer_type == 'B')
        hidden_field = 4;
    else
        hidden_field = 3;
else
    if (Answer_type == 'B')
        hidden_field = 2;
    else
        hidden_field = 1;
于 2012-10-11T14:02:25.233 に答える
1

変更されたコード: If は if で、条件は '()' 内にある必要があります。

if (Question_type == 'A' && Answer_type == 'B') {
     $("#hidden_field").val( 1);
} else if (Question_type == 'A' && Answer_type !== 'B') {
    $("#hidden_field").val(  2);
} else if (Question_type !== 'A' && Answer_type == 'B') {
     $("#hidden_field").val( 3);
{ else if (Question_type !== 'A' && Answer_type !== 'B') {
       $("#hidden_field").val( 4);
}
于 2012-10-11T13:55:45.810 に答える
1

を使用ternary operatorすると、コードを短縮するのに役立つ場合があります。

if (Question_type == 'A') {
    hidden_field.value = Answer_type == 'B' ? 1 : 2;
} else {
    hidden_field.value = Answer_type == 'B' ? 3 : 4;
}

このjsFiddleデモをチェックしてください

于 2012-10-11T14:01:28.353 に答える
-1

隠しフィールドに ID を与え、その値を設定します。

于 2012-10-11T13:55:50.457 に答える