javascript – 如何使用Mustache.js在下拉列表中设置选定的值?

使用Mustache.js可以做到这一点吗?

var data = {"val":"3"},
    template = '<select>' +
                    '<option value="1">1</option>' +
                    '<option value="2">2</option>' +
                    '<option value="3">3</option>' +
                '</select>';

var html = Mustache.to_html(template, data);

$(html).appendTo('body');
val属性不起作用,因为< select>从具有所选属性的< option>获取其值。我不是很熟悉胡子,但这应该工作:

// snip...        
var html = Mustache.to_html(template, data);
$(html)
    .find('option[value=3]').attr('selected', true)
    .end().appendTo('body');

我认为你使用的模板不是惯用的胡子 – 它太粗糙了;你实际上并不模板任何东西。这样的事情可能会更多的是Mustache-y:

var template = '<select>{{#options}}' +
                   '<option value="{{val}}" {{#sel}}selected{{/sel}}>' + 
                       '{{txt}}' + 
                   '</option>' + 
               '{{/options}}</select>',

    data = {options: [
        {val: 1, txt: 'uno'},
        {val: 2, txt: 'dos'},
        {val: 3, txt: 'tres', sel: true}
    ]};

var html = Mustache.to_html(template, data);

$(html).appendTo('body');

Demo →

http://stackoverflow.com/questions/5518915/how-to-set-a-selected-value-in-a-dropdown-list-using-mustache-js

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 如何使用Mustache.js在下拉列表中设置选定的值?