hello everybody I am trying to get data when one of my dropdown selected index change here are my codes I couldn't get where am ı missing or doing something wrong I am very glad if you help me thank you .
this is my script code
$("#ddOrder").change(function (e) {
alert = "basıldı";
var oID = $(this).val();
$.getJSON("../Accessory/loadWorkshops", { _orderId: oID },
function (data) {
var select = $("#ddAcc");
select.empty();
select.append($('<option/>', {
value: 0,
text: "Aksesuar seçiniz"
}));
$.each(data, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});
});
});
these are my controller codes
public ActionResult addAccessoryShipment()
{
if (Session["_userName"] == null)
{
return RedirectToAction("Index", "Home");
}
HelperPartial _helper = new HelperPartial(
ViewData,
Session["_userName"].ToString(),
Session["_userPermissionId"].ToString()
);
Repository<Order> _ro = new Repository<Order>();
IEnumerable<SelectListItem> _orderSelectListItem = _ro.All().AsEnumerable().Select(s => new SelectListItem
{
Text = s.code,
Value = s.id.ToString()
}).OrderBy(o => o.Text);
ViewData["ddOrder"] = _orderSelectListItem;
Repository<AccessoryList> _ra = new Repository<AccessoryList>();
IEnumerable<SelectListItem> _clothSelectListItem = _ra.All().AsEnumerable().Select(s => new SelectListItem
{
Text = s.name,
Value = s.id.ToString()
}).OrderBy(o => o.Text);
ViewData["ddaList"] = _clothSelectListItem;
return View();
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult loadWorkshops(string _orderId)
{
int _oId = Convert.ToInt32(_orderId);
Repository<OrderCloth> _ra = new Repository<OrderCloth>();
IEnumerable<MyOrderCloth> _clothSelectListItem = _ra.All().Where(o => o.orderId == _oId).Select(s => new MyOrderCloth
{
workshopName = s.workshop.name,
workshopId = s.workshopId
});
List<SelectListItem> _workshopListItem = new List<SelectListItem>();
foreach (MyOrderCloth item in _clothSelectListItem)
{
_workshopListItem.Add(new SelectListItem
{
Text = item.workshopName,
Value = item.workshopId.ToString()
});
}
return Json(_workshopListItem, JsonRequestBehavior.AllowGet);
}
and here are my view codes
@using (Html.BeginForm("AccessoryShipmentAdd", "Accessory", FormMethod.Post))
{
@Html.ValidationSummary(true)
<div class="control-group">
<label class="control-label">Sipariş No</label>
<div class="controls">
@Html.DropDownListFor(model=>model.orderId,(IEnumerable<SelectListItem>)ViewData["ddOrder"],"seçim yapınız",new {id="ddOrder", @class = "span6 chosen"})
</div>
@Html.ValidationMessageFor(model => model.orderId)
</div>
<div class="control-group">
<label class="control-label">Atölye Seçiniz</label>
<div class="controls">
@Html.DropDownListFor(model=>model.workshopId,new SelectList(Enumerable.Empty<SelectListItem>(),"workshopId","workshopName"),"seçim yapınız",new {@id="ddAcc" ,@class = "span6 chosen"})
</div>
@Html.ValidationMessageFor(model => model.workshopId)
</div>
<div class="control-group">
<label class="control-label">Aksesuar Seçiniz</label>
<div class="controls">
@Html.DropDownListFor(model=>model.accessoryListId,(IEnumerable<SelectListItem>)ViewData["ddaList"],"seçim yapınız",new { @class = "span6 chosen"})
</div>
@Html.ValidationMessageFor(model => model.accessoryListId)
</div>
I can get datas from loadWorkshops class but it doesnt return to my dropdown. what can I do for this ?>