recordset Résumé de la situation:un bouton radio en fonction d'une valeur
Il y a une page HTML avec quelques entrées qui sont utilisées pour filtrer recordsets.
La table avec les enregistrements est dessinée par une page asp classique.
Chaque ligne a des valeurs affichées dans des éléments d'entrée modifiables que l'utilisateur peut modifier et soumettre. Certaines de ces valeurs sont toujours 0 ou 1, ce que j'essaye de faire est de rendre la vie de l'utilisateur un peu plus facile en montrant cette valeur en utilisant un bouton radio au lieu d'une zone de texte.
Je voudrais donc le bouton radio
<td>
<input type="text" id="hidden_isDeleted" value="<%=rs("isDeleted")%>">
<input type="radio" class="form" name="isDeleted" id="isDeletedNo" value="0">
<input type="radio" class="form" name="isDeleted" id="isDeletedYes" value="1">
</td>
à vérifier selon la valeur recordset suivante
<%= rs("isDeleted") %>
Ce que j'ai essayé jusqu'à présent:
Ma première tentative était de écrire un script jQuery pour faire ce travail:
$(document).ready(function(){
if ($(#hidden_isDeleted).val() == 0) {
$("#isDeletedNo").prop("checked", true)
}
else {
$("#isDeletedYes").prop("checked", true)
}
});
Ma deuxième pensée a été de quitter jQuery car je suis encore jeune et j'utilise une simple fonction javascript qui serait appelée par un événement <body onload="checkIfDeleted()">
depuis la radio elle-même.
function checkIfDeleted() {
if ($(#hidden_isDeleted).val() == 0) {
document.getElementById("isDeletedNo").checked = true;
}
else {
document.getElementById("isDeletedYes").checked = true;
}
}
Est-ce que le <body onLoad="checkIfDeleted()">
s'exécute trop tôt? Ou au moins avant que le jeu d'enregistrements soit récupéré?
La raison pour laquelle j'ai utilisé le champ caché était d'extraire d'abord la valeur, puis de donner la possibilité à l'utilisateur de choisir l'autre radio et donc de changer la valeur lors de l'envoi. Je sais qu'il y a probablement une meilleure façon de faire cela, mais c'est ce que j'ai trouvé en premier lieu.
Ce que je fini par faire:
<td>
<input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="0" <% If rs("isDeleted") = CLng(0) Then response.write("checked") End If%> >Έγκυρη
<input type="radio" class="form" name="isDeletedRadio" id="in_isDeleted" value="1" <% If rs("isDeleted") = CLng(1) Then response.write("checked") End If%> >Άκυρη
</td>
Et quand il vient le temps de rédiger les modifications dans la base de données, je récupère la valeur de la radio sélectionnée en utilisant le nom de la radio, tout comme que: $('input[name="isDeletedRadio"]:checked').val();
C'est une approche simple et agréable, même si je ne l'aime pas beaucoup le talon VBscript dans les boutons radio, donc si quelqu'un a une meilleure idée que je vais garder un oeil sur cette question.
Pour quoi avez-vous besoin du champ caché? Pourquoi ne publiez-vous pas l'attribut 'checked' dynamiquement sur le bouton radio droit en utilisant votre code côté serveur? – CBroe
J'ai édité ma question, j'espère qu'elle répond à la vôtre. – Karapapas
_ "puis donner la possibilité à l'utilisateur de choisir l'autre radio et donc changer la valeur sur soumettre" _ - et pourquoi cela aurait-il besoin d'un champ caché? Vos boutons radio enverront 0 ou 1, selon ce que l'utilisateur choisit (ou votre présélection), qui n'a pas besoin d'un champ caché. – CBroe