witajcie
poniżej zamieszczam
kod Modelu
public class Piosenki
{
public string nazwa_piosenki { get; set; }
[Required(ErrorMessage="Wybierz Artystę")]
public int nr_artysty { get; set; }
[Required(ErrorMessage="Wybierz Album")]
public int nr_albumu { get; set; }
}
kod View
<script type="text/javascript">
$(function () {
var linia = 0;
$("#dropDownList2").html("<option>Wybierz Album</option>");
$("#dropDownList1").change(function () {
if ($("#dropDownList1").val() != "") {
$.getJSON("/PlytyManager/AlbumyLista/" + $("#dropDownList1").val(), function (data) {
var item = "<option>Wybierz Album</option>";
$.each(data, function (i, albumy) {
item += "<option value = " + albumy.Value + ">" + albumy.Text + "</option>";
});
$("#dropDownList2").html(item);
});
}
else {
$("#dropDownList2").html("<option>Wybierz Album</option>");
}
});
$("#btn1").click(function () {
$("#piosenki").append("<p><input type='text'></input></p>");
return false;
});
});
</script>
<h2>Wprowadz Piosenki</h2>
<div>
@using (Html.BeginForm())
{
<p>
Wybierz Artystę @Html.DropDownListFor(model => model.nr_artysty, new SelectList(ViewBag.WyborArtysty, "NR_ARTYSTY", "NAZWA_ARTYSTY"), "Wybierz Artyste", new { id = "dropDownList1" })
@Html.ValidationMessageFor(model => model.nr_artysty)
</p>
<p id="albums">
Wybierz Album @Html.DropDownListFor(model => model.nr_albumu, new SelectList(Enumerable.Empty<SelectListItem>(), "NAZWA ALBUMU", "NR_ALBUMU"), "Wybierz Album", new { id = "dropDownList2"})
@Html.ValidationMessageFor(model => model.nr_albumu)
</p>
<h3>Piosenki</h3>
<input id="btn1" type="submit" value="Dodaj Piosenkę" />
<input id="btn2" type="submit" value="Wprowadz" />
<br />
<div id = "piosenki"></div>
}
</div>
Pomóżcie:
- problem z wyświetleniem komunikatu błędu, gdy nie wybieram żadnej pozycji w dropDownList2 (Wybierz Album) to pokazuje mi komunikat "The value 'Wybierz Album' is not valid for nr_albumu", komunikat inny niż ten, który jest zdefiniowany w modelu.
- Gdy wybiorę Artystę i nie wybiorę Albumu i wcisnę przycisk "Wprowadź" to w dropDownList2 znikają wszystkie albumy przypisane danemu artyście, choć w dropDownList1 wybrany Artysta jest wciąż wyświetlany. Podejrzewam, że trzeba dopisać kilka linijek kodu w jquery.
Dzięki za odp.