下面我有一段代码,其中显示所选答案按钮的复选框,并计算所选答案按钮的数量。
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);
}
});
}
但是我对计数答案按钮有一点问题。如果选择的选项类型除“真或假”或“是或否”之外的其他任何类型,我只想计算答案按钮的数量。我的问题是在哪里以及如何为此编写适当的if语句?
我在这里有一个jsfiddle:
有很多代码,但我尽可能地减少了代码。
使用小提琴:
1:打开小提琴并单击应用程序中的“打开网格”,然后选择选项“3”。然后单击“添加问题”按钮。
2:您将看到已附加表格行。在附表中,单击任何一个字母按钮,您将看到对于您打开的每个字母按钮,在上面的文本框中,它会计算打开多少个按钮。
3:在附加行中单击“打开网格”链接并选择“真或假”选项。现在对于这个选项,Answers textbo的数量应该始终为1,无论打开或关闭多少个答案按钮,它应该始终为1.但问题是如果你打开“True”或“False”按钮然后转动它退后,它返回0,因为没有接通应答按钮。我不希望这种情况发生,选项是“真或假”或“是或否”,他们的两个选项的文本框应始终为1
。
答案 0 :(得分:2)
您好请转到以下链接http://jsfiddle.net/7sARw/26/
我所做的事情的解释: - 每当用户点击对行元素的true或false时,答案仅为“1”。
所做的更改: - 转到updateAnswer功能 并看到
if (btn.id == "answerTrueRow" || btn.id == "answerFalseRow")
return;
它不允许btn函数进行任何更改来回答。 享受..