0

我在 JavaScript 中有两个变量,比如Question_type和。Answer_type

我有一个没有价值的,hidden_field我想通过检查的条件插入一个value,如下所示:hidden_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 中的 clean 方法来实现这个概念?任何 JSfiddle 示例都会更受欢迎。

4

5 回答 5

4

用于getElementById通过 ID 隐藏:

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

这是缩短代码的一种选择:

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 回答