Je cherche un exemple de lecture d'une valeur d'une base de données et l'utilise dans un script jQuery pour définir la couleur d'arrière-plan d'un contrôle. J'apprends toujours jQuery, et il n'est pas clair pour moi comment obtenir une valeur de la base de données. J'utilise ASP.NET MVC, et mon formulaire tire déjà la valeur - ai-je besoin de le mettre dans un champ caché et l'utiliser de cette façon, ou existe-t-il une meilleure/différente façon de communiquer la valeur de couleur à jQuery?Utilisez jQuery pour définir la couleur d'arrière-plan avec la valeur de la base de données
Répondre
je peux penser de différentes façons de le faire, dont certaines n'utilisent pas jQuery en fonction de ce que vous essayez d'accomplir.
thématisation
Développer CSS personnalisé et avoir votre point de vue de choisir le fichier CSS à utiliser en fonction de la sélection de la base de données. Ce code est une vue qui construit un lien CSS basé sur la valeur du champ de la base de données. Appliquez des classes à vos contrôles du thème (chaque thème aurait les mêmes classes, juste des paramètres différents pour chacun d'eux).
<link href='<%= Url.Content("~/Content/styles/" + Model.Theme) %>'
type="text/css"
rel="stylesheet" />
Préférences utilisateur
Vous voulez que l'utilisateur soit en mesure de réellement changer l'apparence d'un élément particulier et se sentir, pas simplement choisir un thème. Dans ce cas, il existe plusieurs options: l'une dispose d'un assistant qui génère un code CSS personnalisé pour l'utilisateur en fonction des valeurs de la base de données, en utilisant à nouveau des classes communes pour que vous puissiez styliser les contrôles avec des classes. Appelez cette aide à partir de votre vue et injectez le CSS correct dans la page directement ou en tant que lien vers une action qui génère le CSS en réponse à un lien. Ou, et je n'aime pas cette option, définissez la propriété de style sur le contrôle lui-même en utilisant la disposition Afficher et obtenir la valeur de la propriété de couleur d'arrière-plan de ViewData.
<link href='<% Url.Action("css","generate", new { id = Model.UserID }) %>'
type="text/css"
rel="stylesheet" />
<div style='background-color: <%= ViewData["controlBackgroundColor"] %>;'></div>
dynamique Changements
Vous voulez avoir le changement de couleur dynamique basée sur une action de l'utilisateur et la nouvelle couleur (s) proviennent de la base de données. Dans ce cas, vous pouvez injecter la couleur dans la balise de script où votre jQuery vit directement.
<script type="text/javascript">
$(document).ready(function() {
$('#someButton').click(function() {
$('#someControl').css('background','<%= ViewData["controlBackground"] %>');
});
});
</script>
Je ne vois aucun besoin d'utiliser un champ caché.
Une valeur cachée fonctionnerait très bien, vous pouvez le récupérer en utilisant:
$("#hiddenFieldId").val();
Une autre chose que vous pourriez faire, est de définir une variable globale en javascript (ie, au sommet de votre dossier, en dehors de la définition de toutes les fonctions, il sera alors disponible dans toutes les fonctions.). Vous allez faire quelque chose comme ceci:
//On top of your-file.js:
var color='';
$(document).ready(function()
{
$("body").css("background-color",color); //Not tested
}
);
Dans le fichier HTML:
<script type='text/javascript' src='your-file.js'>
</script>
color="<?=$color;?>"; //Or do it how you'd do it in ASP
valeur cachée est bien:
<input type="hidden" value="#ff3300" id="backgroundColor">
<div id="someControl">I'm some control</div>
<script>
$(function() {
$('#someControl').css('background', $('#backgroundColor').val());
});
</script>
Voir par exemple: http://jsbin.com/aneno
- 1. Définir la couleur de la cellule du tableau à partir de la base de données
- 2. valeur Obtenir la base de données relationed
- 3. Utilisez-vous la base de données Scimore SQL?
- 4. Utilisation de la réflexion pour définir la valeur d'un Int32
- 5. Requête dynamiquement une base de données pour vérifier la valeur
- 6. jQuery doit définir la valeur de la variable à partir de la valeur d'une zone de saisie de formulaire
- 7. Comment définir la couleur de la police d'un libellé comme la couleur de la légende d'un GroupBox?
- 8. Définir la couleur personnalisée à la ligne du tableau en fonction des données de table par jQuery
- 9. Comment définir la couleur de la bordure d'un CircleItemRenderer
- 10. wxPython, Définir la valeur de StaticText()
- 11. Multiplier la valeur du champ avec la valeur récupérée jQuery
- 12. PHP définir la valeur sélectionnée de la liste déroulante
- 13. Mon formulaire Windows enregistre la valeur null pour RadioButton dans la base de données SQL.
- 14. Services de domaine et communication avec la base de données
- 15. Meilleure façon de synchroniser la base de données client avec la base de données du serveur
- 16. Utilisez PHP + jQuery AJAX pour vérifier la base de données MySQL pour les changements et charger les modifications?
- 17. Synchronisation avec la base de données master
- 18. Utilisez la réflexion pour définir la valeur d'un champ dans une structure qui fait partie d'un tableau de structures
- 19. Utilisez jQuery/JS pour déterminer le JOUR DE LA SEMAINE
- 20. si la condition d'autre pour la base de données variables
- 21. iPhone-SDK: Comment définir la couleur de fond pour View et non pour la Table?
- 22. Interaction avec la base de données SQL
- 23. Synchronisation LinqToSQL avec la base de données
- 24. jQuery: définir la valeur de la cellule de table à l'intérieur de div
- 25. UIKit. Comment définir la couleur transparente?
- 26. Ajouter la couleur de police CSS avec jquery
- 27. Javascript - Définir la valeur variable à l'intérieur de la fonction
- 28. FluentNHibernate - Définition de la valeur par défaut pour les colonnes de base de données (SQL Server)
- 29. FluentNHibernate définir la valeur de la colonne par défaut pour un bool
- 30. ActiveRecord Joindre la table pour la base de données existante
couleur = "<%=color%>"; doit aussi être des balises de script. – Joel