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