2012-11-20 1 views
0

Mon besoin est de générer un bouton avec la couleur de fond et la couleur de police spécifiée. Le problème est que je ne peux définir qu'un de ces paramètres (couleur de police ou couleur de fond), mais pas les deux.Générer un bouton avec la couleur d'arrière-plan et la couleur de police spécifiée

Code JSON:

{ 
    "Caption": "Module caption", 
    "IconsDirectory": "C://Images/", 
    "Buttons": [ 
     { 
     "Conditions": [ 
      { 
      "ConditionText": "1 == 1", 
      "ButtonText": "Text_11", 
      "Visible": true, 
      "Colors": { 
       "FontColor": "#FFFFFF", 
       "BGColor": "#669933" 
      }, 
      "BButtonText": { 
       "TText": "Textt_1" 
      }, 
      "Size": { 
       "Width": 200, 
       "Height": 50 
      }, 
      "Icon": { 
       "FileName": "Smile.png", 
       "Width": 16, 
       "Height": 16 
      }, 
      "Url": { 
       "UrlAddress": "http://www.google.com", 
       "OpenNewWindow": true 
      }, 
      "JavaScriptAction": { 
       "TText": "alert('ok1');" 
      }}, 
     { 
      "ConditionText": "2 == 2", 
      "ButtonText": "Text_22", 
      "Visible": true, 
      "Colors": { 
       "FontColor": "#0FFFFF", 
       "BGColor": "#FF9966" 
      }, 
      "BButtonText": { 
       "TText": "Textt_1" 
      }, 
      "Size": { 
       "Width": 200, 
       "Height": 50 
      }, 
      "Icon": { 
       "FileName": "Smile.png", 
       "Width": 16, 
       "Height": 16 
      }, 
      "Url": { 
       "UrlAddress": "http://www.google.com", 
       "OpenNewWindow": true 
      }, 
      "JavaScriptAction": { 
       "TText": "alert('ok2');" 
      }} 
     ]} 
    ] 
} 

code html:

<!DOCTYPE html> 
<html> 
<head> 
<title>SMButtons</title> 
<script src="jquery/jquery-1.4.2.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $.getJSON('weekendtask.json', function(data) { 
    var res = "" 
    $.each(data.Buttons, function(key, button) { 
     $.each(button.Conditions, function(key, condition) { 
      res += "<li>" 
      res += '<input type="button"' + '" value="' + condition.BButtonText.TText 
      res += '" onclick="' + condition.JavaScriptAction.TText 

      //background color 
      res += '" style=" background-color:' + condition.Colors.BGColor 

      //font color 
      //res += '" style=" color:' + condition.Colors.FontColor 

      res += '"/>' 
      res += "<\/li>" 
     }) 
    }) 
    $(res).appendTo('#ulObj') 
}); 
}); 
</script> 
</head> 
<body> 
<div> 
<ul id='ulObj'> 
<li>1</li> 
<li>2</li> 
<li>3</li> 
</ul> 
</div> 
</body> 
</html> 
+1

Pourquoi ne pouvez-vous pas définir à la fois la couleur et la couleur de fond? – adamb

Répondre

2

Vous rédigez la propriété de style deux fois. Pourquoi ne pas le faire

res += '" style=" background-color:' + condition.Colors.BGColor + '; color:' + condition.Colors.FontColor + ';'; 
+0

Mike Brant, fonctionne très bien, merci. – Marchello

Questions connexes