2012-10-11 24 views
0

我有兩個變量,如Question_typeAnswer_type在JavaScript中。如何在javascript中爲hidden_​​field設置整數?

我有一個hidden_field沒有價值,我想通過檢查的Question_typeAnswer_type條件類似下面插入valuehidden_field

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示例都會更加流暢。 ')(' 如果要當且條件必須在裏面:

+0

*「如何以簡寫的形式實現這個概念...」*您是在問如何縮短這段代碼,或者如何設置字段的值? –

+1

縮短代碼 – Vinay

回答

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; 
+0

非常感謝你 – Vinay

+0

不客氣。 –

+1

@Vinay:我更新了答案*(頂部)*,因爲我們確實不需要測試最後一個條件。如果前3個失敗,那麼最後一個將會通過,所以'0'永遠不會被設置。 –

4

使用getElementById通過id來獲取隱藏:

var hidden_field = document.getElementById('HiddenFieldId'); 
hidden_field.value = 1; 
1

修改後的代碼。

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); 
} 
+2

jQuery!= Javascript – MalSu

+0

inside()是什麼意思。我是新來的JavaScript。請定義? – Vinay

+0

好的MalSu。謝謝 – Vinay

-1

給隱藏字段一些ID,並設置它的值。

1

使用ternary operator可能有助於縮短代碼:

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

check out this jsFiddle demo

相關問題