2011-03-04 79 views
0

所以我有一個複雜的收入聲明表單。幫助jquery ajax和asp.net模板mvc

它將爲IncomeDeclaration所涉及的每個活動顯示一個文本字段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> 

} 

兩個選擇和text_field name屬性是關鍵這個工作...否則modelbinding不會工作......我想,如果SomeNumber變量設置爲新Date.GetTime()模型應該結合工作得很好......

其實我沒有看到這樣做的必要性阿賈克斯但那是另一個話題..我只是還沒有想出一個辦法做到這一點沒有Ajax ... 現在我想得到模板e工作並將表單元素附加到列表的底部。

回答