添加bootstrap-tag.js时,Jsrender.js失败

时间:2014-05-25 21:22:18

标签: twitter-bootstrap jsrender bootstrap-tags-input

我添加了这些js:

    <script src="js/jsrender.min.js"></script>
    <script src="js/bootstrap-tag.min.js"></script>

我有这个模板:

<script id="template" type="text/x-jsrender">
        <tr class="ui-widget-content jqgrow ui-row-ltr" tabindex="-1" id="filaAgregada" role="row" aria-selected="false">
        <td aria-describedby="grid-table_cb" style="text-align:center;width: 25px;" role="gridcell"><input type="checkbox" name="jqg_grid-table_1" class="cbox" id="jqg_grid-table_1" role="checkbox"></td>
        <td aria-describedby="grid-table_id" role="gridcell">{{:numero}}</td>
        <td aria-describedby="grid-table_evento" role="gridcell"><input class="form-control, form-field-tags" type="text" name="evento"></td>
        <td aria-describedby="grid-table_efnc" role="gridcell"><input class="form-control, form-field-tags" type="text" name="eventosFNC"></td>
        <td aria-describedby="grid-table_efc" role="gridcell"><input class="form-control, form-field-tags" type="text" name="eventosFC"></td>
        <td aria-describedby="grid-table_condicion" role="gridcell"><input class="form-control, form-field-tags" type="text" name="eventosCondiciones"></td>
        <td aria-describedby="grid-table_datoAsociado" role="gridcell"><input class="form-control, form-field-tags" type="text" name="eventoDatosAsociados"></td>
        <td aria-describedby="grid-table_TEF" role="gridcell"><input class="form-control, form-field-tags" type="text" name="eventoTEFEaE"></td>
        </tr>
</script>

当我这样做时:

$("#bodyTablaEventos").append($("#template").render(contador));

我收到此错误:

  

TypeError:b.props未定义   jsrender.min.js第3行

如果我删除<script src="js/bootstrap-tag.min.js"></script>,则jsrender可以正常工作。

任何人都可以帮助我吗? 感谢

1 个答案:

答案 0 :(得分:1)

bootstrap-tag正在向jQuery实例添加.tag()方法,这会导致JsRender出错。我将为JsRender的下一次更新修复它,以避免碰撞。但与此同时,您可以使用首选语法来呈现JsRender模板:

var tmpl = $("#template"); $("#bodyTablaEventos").html(tmpl.render(contador)); //or $("#bodyTablaEventos").append(tmpl.render(contador));

使用该语法不应该有冲突......(参见The template.render() method)。

您也可以使用$.render.myTmpl()