Aşağıdaki örnekte Controller sayfanızda tanımladığınız SelectList olan ViewData[“OdemeTurleri”], OdemeEkle() fonksiyonu çalıştıkça #odemeler id’sini verdiğiniz tablo yapınıza satır olarak eklenecektir ve aynı zamanda post veya get yöntemi ile ilgili Controller objenize dizi şeklinde gönderimi sağlanacaktır.
Bu örnekte OdemeEkle() fonksiyonunu bir butonun “OnClick” özelliğine yazarak gönderilecek formumuza belirlediğimiz ödeme seçeneklerinden sınırsız sayıda eklenebilmesini sağladım.
Tip : Controller kısmına düşen verileri database’e yazmadan önce aynı türe sahip ödemelerin tutarlarını toplayarak database’e yazabilirsiniz.
<script type="text/javascript">
var numrows = 0;
function OdemeEkle() {
var text = '@foreach (SelectListItem item in (SelectList)ViewData["OdemeTurleri"]){ <option value="@item.Value">@item.Text</option>}';
$("#odemeler").append('<tr><td><select name="odeme[' + numrows + '].odeme_id">' + text + '</select></td><td><input type="text" name="odeme[' + numrows + '].tutar"></td><td></td></tr>');
numrows = numrows + 1;
}
</script>
var numrows = 0;
function OdemeEkle() {
var text = '@foreach (SelectListItem item in (SelectList)ViewData["OdemeTurleri"]){ <option value="@item.Value">@item.Text</option>}';
$("#odemeler").append('<tr><td><select name="odeme[' + numrows + '].odeme_id">' + text + '</select></td><td><input type="text" name="odeme[' + numrows + '].tutar"></td><td></td></tr>');
numrows = numrows + 1;
}
</script>
Burada text verisinin içerisinde sayfa yüklendiğinde tüm elemanlar doldurularak performans amaçlanmıştır.
İsteğe bağlı olarak select objenizi javascript ile database’den anlık olarak da doldurabilirsiniz.
Of course, what a splendid site and educative posts, I will
bookmark your blog.All the Best!