【发布时间】:2023-03-24 09:51:01
【问题描述】:
所以我有一个收入声明的复杂表格。
它将为与 IncomeDeclaration 相关的每个 Activity 显示一个文本字段 GrossIncome...这一切都在服务器上完成并且工作正常....问题是。用户还应该能够即时添加活动.. 通过 javascript... 所以当用户单击“添加活动”时,下拉菜单和文本字段必须附加到活动列表的底部...这是我到目前为止所得到的
<tbody id="activities">
@Html.EditorFor(model => model.income.EconomicActivityIncomeDeclarations)
</tbody>
</table>
<a href="#" id="add_activity">Agregar Otra Actividad</a>
</fieldset>
<script type="text/javascript">
$("#add_activity").click(function () {
$.getJSON('/IncomeDeclarations/GetEconomicActivities', function (data) {
var select = new Select();
var data = new Array();
for (var i = 0; i < data.length; i++) {
var option = new Option(data[i]["name"], data[i]["i"])
//should do something here
}
//should call the template and append to #activities
});
});
</script>
<script id="template" type="text/x-jquery-tmpl">
<tr>
<td><select name="income.EconomicActivityIncomeDeclarations[${SomeNumber}].EconomicActivityId">
${MyOptions}
</select></td>
<td><input type="text" name="income.EconomicActivityIncomeDeclarations[${SomeNumber}].GrossIncome" /></td>>
</tr>
</script>
}
select 和 text_field 的 name 属性是这个工作的关键......否则模型绑定将无法工作......我认为如果 SomeNumber 变量设置为 new Date.GetTime() 模型绑定应该工作还好……
我实际上并不认为需要 ajax,但那是另一个话题.. 我只是还没有想出一个没有 ajax 的方法...... 现在我想让模板工作并将表单元素附加到列表的底部。
【问题讨论】:
标签: jquery asp.net-mvc ajax jquery-templates