2012-12-07 21 views
2

的jsfiddle是here如何保持隱藏的輸入顯示1的全部時間

請按照步驟下面撥弄:

  • 單擊「打開網格」,然後選擇「是或否」或「True or False」選項,您會看到相關的答案按鈕出現在下方。

  • 現在,如果您查看「答案數」行,它會顯示一個字符串,指出可以選擇「僅一個答案」。

  • 單擊一個答案按鈕將其打開,然後再次單擊它以 將其關閉,以便沒有應答按鈕以綠色突出顯示。

  • 點擊「添加問題」按鈕,您會意識到它已將控件從頂部附加到表中。由於您未突出顯示一個答案,因此不會顯示提醒您已選擇較少答案。

所以問題是,如果你點擊其中一個答案「真或假」或「是或否」來打開它,然後點擊了相同的答案按鈕,再次將其關閉,然後當你點擊「添加問題」按鈕時,它不會執行驗證。

我認爲這樣做的原因是因爲當您單擊「真」,「假」,「是」或「否」的答案按鈕時,隱藏的答案文本輸入顯示數字1因爲1個答案已打開(如字母按鈕),但當您關閉該按鈕時,由於未打開答案,因此在隱藏文本輸入中顯示0。

因爲只有一個答案,所以如果出現該字符串,則隱藏文本輸入應始終顯示1,無論用戶是否必須選擇一個答案都沒有打開答案按鈕。我想我已經發現下面的代碼導致了這個問題。

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

我的問題是,在的jsfiddle,任何人可以能夠獲得小提琴的工作,這樣它會顯示在開啓和關閉的回答按鈕後,用戶沒有選擇的答案警報「是或否「或」是或否「?

+0

沒有人會遵循這些步驟。請縮小你的問題陳述。 –

+0

看起來'$('。answertxt',「#optionAndAnswer」).val()從'1'開始(沒有任何選擇),但是在開啓/關閉之後它變成了'0'。但代碼有點太長,無法正確理解。 – pimvdb

+0

@pimvdb是的這就是我認爲的問題是/ – user1881090

回答

1

我想我已經修復了它here,雖然你的代碼真的很混亂。我添加了一個條件檢查來查看所選答案的數量是否爲零,如果是,那麼只需將設置爲.answerstxt的值的數字設置爲1即可。

+0

您的修復程序在您的答案中不可見。如果可能的話,答案應該是自包含的,這樣他們就不會受到鏈接衰減的影響,並且當鏈接的目標停止或死亡時仍然有效並且有用。 – Nicktar

+0

嗨,謝謝你的回答,只是一個小問題,如果選項是「True or False」或「Yes or No」,我只希望將所選答案數量的條件檢查設置爲「1」。任何其他答案,然後我想它回到0. – user1881090

+0

我upvoted你的答案btw – user1881090

相關問題