jsFiddle est hereComment garder entrée cachée afficher 1 tout le temps
S'il vous plaît suivez les étapes ci-dessous violon:
Cliquez sur le « Open Grid » et sélectionnez le « Oui ou Non » ou "Vrai ou Faux" option, vous verrez les boutons de réponse pertinents apparaissent en dessous. Maintenant, si vous regardez la ligne «nombre de réponses», il affiche une chaîne indiquant que «seulement 1 réponse» peut être choisi.
Cliquez sur un bouton de réponse pour l'activer, puis cliquez à nouveau sur pour l'éteindre afin que le bouton de réponse ne soit pas surligné en vert.
Cliquez sur le bouton "Ajouter une question", vous réalisez qu'il a ajouté le contrôle du haut dans une table. Aucune alerte ne s'affiche indiquant que vous avez sélectionné moins de réponses car vous n'avez pas sélectionné une réponse.
Le problème est que si vous cliquez sur l'une des réponses « Vrai ou faux » OU « Oui ou Non » pour l'activer puis cliquez sur le même bouton de réponse à nouveau pour la désactiver, puis Lorsque vous cliquez sur le bouton "Ajouter une question", il n'effectue pas la validation.
La raison pour laquelle je suppose que c'est parce que lorsque vous cliquez sur un bouton de réponse pour "Vrai", "Faux", "Oui" ou "Non", le nombre caché de réponses affiche le numéro 1 comme une réponse est activée (comme les boutons alphabétiques), mais lorsque vous éteignez le bouton, elle affiche 0 dans la saisie de texte masquée car aucune réponse n'est activée. Ce qui devrait arriver, c'est que comme il n'y a qu'une seule réponse, si cette chaîne apparaît, la saisie de texte cachée devrait toujours afficher 1
, peu importe si le bouton de réponse est activé car l'utilisateur doit choisir une réponse. Je pense avoir découvert que le code ci-dessous a causé le problème.
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);
}
});
}
Ma question est que dans le jsFiddle, quelqu'un peut-il être en mesure d'obtenir le violon de travail afin qu'il affiche l'alerte lorsque l'utilisateur n'a pas sélectionné une réponse après la mise en marche et d'éteindre le bouton de réponse pour " Vrai ou faux "ou" Oui ou non "?
Personne ne va suivre ces étapes. Veuillez affiner votre énoncé de problème. –
Il semble que '$ ('. Answertxt'," #optionAndAnswer "). Val()' commence à '1' (sans rien sélectionné), mais après l'avoir activé/désactivé, il devient' 0' à la place. Mais le code est un peu trop long pour le comprendre correctement. – pimvdb
@pimvdb Oui, c'est ce que je pense que le problème est/ – user1881090