0

私の必要性は、条件が真の場合にのみ、指定されたパラメーターでボタンを生成することです。どうすれば確認できますか?以下に示すように、ボタンは現時点では条件をチェックせずに生成されます。正しい構文を教えてください。

jsonコード:

{
    "Caption": "Module caption",
    "IconsDirectory": "C://Images/",
    "Buttons": [
        {
        "Conditions": [
            {
            "ConditionText": "2 == 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');"
            }}
        ]}
    ]
}

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 += '; 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>
4

1 に答える 1

0

これを行うことで値を確認できますVisible

$.each(data.Buttons, function(key, button) {
    $.each(button.Conditions, function(key, condition) {
       // check the visible value
       if (condition.Visible) {
         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 += '; color:' + condition.Colors.FontColor 

         res += '"/>'
         res += "<\/li>"
       }
    })
})
于 2012-11-20T22:07:37.307 に答える