0

我正在使用jTemplates根据从服务器返回的数据创建表单的几个元素。我可以input毫无问题地设置字段的值,但在设置下拉列表的选定值时遇到问题。

我尝试使用 jQuery 选择器在模板本身中设置值,但它不起作用。它只是[object Object]在我的下拉列表上方添加了一个。我也尝试过使用一堆{#if}也没有奏效的语句(见下文)。

有什么想法吗?

调用 jTemplate:

<script type="text/javascript">
  $('#my_container').setTemplateURL("templates/MyTemplate.htm", [], { filter_data: false, runnable_functions: true }).processTemplate(data);
</script>

我的简化模板:

<table id="expense_table_{$T.ID}">
  <tr>
    <td width="80">
      <input type="text" id="my_amount" class="amount numbersOnly" value="{$T.Amount}" />
    </td>
    <td width="180">
      <select id="my_type" class="my-type">
        {#if $T.MyTypeID == 1} 
          <option value="1" selected>Option 1</option>
        {#else}
          <option value="1">Option 1</option>
        {#/if}
        {#if $T.MyTypeID == 2} 
          <option value="2" selected>Option 2</option>
        {#else}
          <option value="2">Option 2</option>
        {#/if}
        {#if $T.MyTypeID == 3} 
          <option value="3" selected>Option 3</option>
        {#else}
          <option value="3">Option 3</option>
        {#/if}
        {#if $T.MyTypeID == 4} 
          <option value="4" selected>Option 4</option>
        {#else}
          <option value="4">Option 4</option>
        {#/if}        
      </select>
    </td>
  </tr>
</table>
4

1 回答 1

0

事实证明,我发布的带有{#if}原始问题中所有陈述的模板毕竟是有效的。不过,这似乎不是一个理想的解决方案,尤其是对于具有很多选项的下拉列表。除非有人能提出更好的解决方案,否则我会将这个问题标记为已回答。

于 2012-06-05T19:08:26.533 回答