【问题标题】:jQuery template, create 2 combo from nested JSONjQuery 模板,从嵌套的 JSON 创建 2 个组合
【发布时间】:2011-12-25 07:17:58
【问题描述】:

所以这是我的情况.. 我想创建 2 个组合,第二个取决于第一个的值。 我希望它们是从嵌套的 json 对象构建的

我的 json 对象如下所示:

var API = 
{
methods:
{
    login:
    {
            checkin:{},
            logout:{}
    },
    register:
    {
            register:{},
            getinfo:{}
    }
}
} 

我想从方法下的每个对象创建第一个组合(除了我在这里列出的 2 之外还有很多)

所以我想得到:登录并注册为标签内 然后我想在第一个组合中选择的方法下创建第二个填充对象的组合。

我该怎么做?我的模板中的值是什么?我的意思是 ${} 符号中的值

谢谢!

【问题讨论】:

    标签: jquery jquery-templates


    【解决方案1】:

    好的,我明白了...

    我的做法是这样的:

    aspx 页面:

    <select id="drpNameSpace"></select>
    <select id="drpMethod"></select>
    
    <script id="nameSpaceComboTmpl" type="text/x-jquery-tmpl"> 
        {{each methods}} <option value='${$index}'>${$index}</option>{{/each}}
    </script>
    <script id="methodComboTmpl" type="text/x-jquery-tmpl"> 
       {{each $data}} <option value='${$index}'>${$index}</option>{{/each}}
    </script>
    

    我的js:

    $(function () {
    $("#drpNameSpace").change(nameSpaceChanged);
    $("#drpMethod").change(methodChanged);
    fillNameSpaceCombo(); }); 
    
    
    function fillNameSpaceCombo () {
            $("#nameSpaceComboTmpl").tmpl(API).appendTo("#drpNameSpace");
            fillMethodCombo($("#drpNameSpace").val());
    }
    
    
    function nameSpaceChanged () {
        $("#drpMethod").html("");
        var value = $("#drpNameSpace").val();
        fillMethodCombo(value);
        methodChanged();
    }
    
    function fillMethodCombo (value) {
        $("#methodComboTmpl").tmpl(API.methods[value]).appendTo("#drpMethod");
    }
    

    非常适合我..

    我不知道的棘手部分是: {{each $data}} ${$index}{{/each}}

    希望这会对某人有所帮助...

    结束;

    【讨论】:

      猜你喜欢
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多