2012-12-17 95 views
1

下面我有一段代碼,它顯示所選答案按鈕的複選框並計算所選答案按鈕的數量。如何以及在哪裏寫if語句來檢查長度()

function updateAnswer(context, iQuestionIndex, bDisableAppend) { 
    var _sCurrQ_Class = 'q_' + iQuestionIndex; 
    var _oCurrAnswerContainer = jQuery('#answer_selections .' + _sCurrQ_Class); 
    if (!_oCurrAnswerContainer.length) { 
     _oCurrAnswerContainer = jQuery(document.createElement('div')).addClass(_sCurrQ_Class); 
     !bDisableAppend && jQuery('#answer_selections').append(_oCurrAnswerContainer); 
    } 

    _oCurrAnswerContainer.html(''); 

    var value, id; 
    // loop through all buttons with 'on' status and their info to the current answer container 
    $('.answerBtnsOn', context).each(function(i, btn) { 

     var $btn = $(btn); 
     value = btn.value; 
     id = $btn.attr('id'); 

     var n = $("input[name='value[" + id + "]']").length; 
     var hid = "hidden" + id + n + "value";  
     $(btn).attr("data-hid", hid); 


     if (!bDisableAppend) { 
      // append those values to the form 
      var input = '<input type="checkbox" id="' + hid + '" name="value[' + iQuestionIndex + '][]" value="' + value + '" checked /><label for="' + hid + '">' + value + '</label>'; 
      _oCurrAnswerContainer.append(input); 
     } 
    });   
} 

但我有一個小問題,計數答案按鈕的數量。如果所選的選項類型除「True或False」或「Yes或No」之外的任何其他類型,我只需要計算答案按鈕的數量。我的問題是我在哪裏以及如何爲此編寫適當的if語句?

我這裏有一個的jsfiddle:

http://jsfiddle.net/7sARw/25/

有很多的代碼,但我試圖像我一樣能削減代碼。

要使用小提琴:

1:打開小提琴,並在應用和選擇選項「3」中點擊「打開網格」。然後點擊「添加問題」按鈕。

2:您會看到表格行已被追加。在附加的表格行中點擊任意一個字母按鈕,你會看到,對於你打開的每個字母按鈕,在上面的文本框中,它會計算打開了多少個按鈕。

3:在附加的行中點擊「Open Grid」鏈接並選擇「True or False」選項。現在,對於這個選項,答案textbo的數量應該始終爲1,無論開啓或關閉多少個答案按鈕,它都應該始終爲1.但問題是,如果打開「True」或「False」按鈕並將其打開因爲沒有應答按鈕打開,所以返回到0。我不希望發生這種情況是選項是「True or False」或「Yes or No」,它們的文本框有兩個選項應始終爲1

+0

你的問題是有些難以理解,請提供小提琴片段,和精確的正是你想要的.. –

+0

好給我們5分鐘,以提供小提琴 – user1881090

+0

@ameyarote這裏是小提琴。真的,我想說的是,如果選擇的選項不是「True or False」或「Yes or No」,那麼計算所選答案按鈕的數量,如果它是「True or False」或「Yes or No」,則不要執行所選答案數量的計數,始終保持文本輸入爲1 – user1881090

回答

2

嗨請到以下鏈接我所做http://jsfiddle.net/7sARw/26/

說明: - 每當用戶點擊真假行元素的答案仍然只是「1」。

所做的更改: - 去updateAnswer功能 看

if (btn.id == "answerTrueRow" || btn.id == "answerFalseRow") 
return; 

它不允許BTN功能進行任何更改回答。 享受..

+0

這是完美的,謝謝你,最好的答案和upvote – user1881090