Małgorzata B. ***
Temat: MVC & external JS
Może ktoś mi podpowie jak wywołać JS jako zewnętrzny plik, a dokładniej chodzi o AJAX-a.Na stronie mam kaskadową listę select-ów np. po wybraniu województwa, "podpina" mi się lista powiatów, po wybraniu powiatu podpina się ... itd.
Obecnie na poziomie widoku wyświetlam powiat jak poniżej (ale JS chcę wydzielić do osobnego pliku):
<script type="text/javascript">
$(document).ready(function () {
...
$.ajax({
type: 'POST',
url: '@Url.Action("SelectPow")',
dataType: 'json',
data: { symbolWoj: $("#woj").val() },
success: getPow,
error: getErr
});
function getPow(powiaty) {
alert('ajax :) ');
$.each(powiaty, function (index, itemPowiat) {
$("#pow").append($('<option/>', {
value: itemPowiat.Value,
text: itemPowiat.Text
}));
});
}
...
</script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
Powiat: <td>@Html.DropDownList("PowLista", null, String.Empty) </td>
</fieldset>
}
a chcę by w widoku tylko odwoływać się do JS:
<script src="@Url.Content("~/Scripts/geLists.js")" type="text/javascript"></script>
Po stronie kontrolera pobieram powiaty:
public JsonResult SelectPow(string symbolWoj)
{
return Json(Adres.getPowiat(symbolWoj), JsonRequestBehavior.AllowGet);
}