jQuery模板绑定到html数据属性

时间:2011-07-14 12:06:51

标签: jquery jquery-templates

我正在创建一个简单的主题选择器,其中我的<option>元素包含数据属性,其中包含我需要在模板中呈现的信息:

<option data-themeimage="/content/images/themes/default.png" 
    data-themedescription="A description of the default theme" value="Default">Default Theme</option>
<option data-themeimage="/content/images/themes/dark.png" 
    data-themedescription="A description of the dark theme" value="Dark">Dark</option>

当您选择主题时,会更新div,其中包含主题预览及其说明。

目前,我必须在页面加载(显示所选项目的详细信息)然后onChange时进行此调用。

是否可以使用jQuery Templates插件直接绑定到元素的数据属性?

注意:我知道有像KnockoutJs这样的框架可以做到这一点,但这对我来说太过分了,因为我只需要做几件事。

这是我目前正在做的事情:

    var selectTheme = function () {
        var $theme = $("option:selected", $("select#Theme"));
        $(".theme-details").empty();
        $("#themeTemplate").tmpl($theme.data()).appendTo(".theme-details");
    };

    selectTheme();
    $("select#Theme").change(selectTheme);

1 个答案:

答案 0 :(得分:0)

您是否尝试在domready上触发更改?

$(function(){
    $("select#Theme").trigger("change");
});