如何在jTemplate中设置下拉列表的选定值?

时间:2012-05-31 17:25:17

标签: jquery jtemplates

我正在使用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>

1 个答案:

答案 0 :(得分:0)

事实证明,我在原始问题中使用所有{#if}语句发布的模板都可行。这肯定不是一个理想的解决方案,尤其是对于有很多选项的下拉列表。除非有人能提出更好的解决方案,否则我会将此问题标记为已回答。