سلام یک دراپ به صورت زیر است
<select id="ArticleClassID" name="ArticleClassID"> <option value=""></option> </select>
</select> می خواهم نتیجه خروجی که به وسیله json بر می گردانم در دراپ بالا نمایش دهم که به صورت زیر می نویسیم اما اطلاعات در دراپ بالا نمایش نمی دهد
success: function (data) { if (data.length==0) { $("<option></option>") .val("0") .text("....") .appendTo($("#ArticleClassID")); } $.each(data, function (i, item) { $("#ArticleClassID").appendTo('<option value="' + data.Value + '">' + data.Text + '</option>'); }); } }); } </script>
این کد استفاده کن
$(document).ready(function() {
$("input[type='checkbox'][name='ToStatus']").bootstrapSwitch();
$("#CountryId").change(function() {
var SelectedVal = $(this).val();
$("#StateId").html('');
$("#StateId").append($("<option></option>").attr("value", '')
.text('@Resource.Title.Choose'));
if (SelectedVal != '') {
$.get('@Url.Action("SelectStates")',
{
"Id": SelectedVal
}).success(function(data) {
$.each(data, function(index, item) {
$("#StateId").append($("<option></option>").attr("value", item.Id)
.text(item.Caption));
});
});
}
});
});
از روش بالا استفاده کردم ولی اطلاعات نمایش نداد
چه موقع می خواهید داده ها نمایش بدهید؟
کد رو کامل بزارید و هم چنین سمت سرور
زمانی که آیتمی از دراپ اول انتخاب کردم با توجه به آن می خواهم آیتمهای مربوط به دراپ دان لیست اول نمایش بدهم
public ActionResult GetArticleClass(Guid id ) { List<khodro_noe2> articleClass = db.khodro_noe2s.Where(a => a.iD_neo == id).ToList(); return Json(articleClass, JsonRequestBehavior.AllowGet); }
@Html.DropDownList("CategroyID", (IEnumerable<SelectListItem>)ViewBag.iD_neo, "...", new { id = "iD_neo", onchange = "GetArticleClass(this)" }) <select id="ArticleClassID" name="ArticleClassID"> <option value=""></option> </select>
<script type="text/javascript"> function GetArticleClass(id) { $("#ArticleClassID").empty(); //SELECT $.ajax({ url: '/new/GetArticleClass/' + $("#iD_neo").val(), type: "get", datatype: "json", success: function (data) { if (data.length==0) { $("<option></option>") .val("0") .text("....") .appendTo($("#ArticleClassID")); } $.each(data, function (i, item) { //در اینجا می خواهم اطلاعات در دراپ دوم بریزم }); } }); } </script>
خوب موقعی که دروپ دون لیست ایتم هاش تغییر میکنه باید یک اکشن صدا زده بشه
در کدی که شما گذاشتید این مورد دیده نمی شه
دقت نکردید دوست من
بعد از Change اکشن getCities در نمونه فراخوانی میشه
خوب موقعی که دروپ دون لیست ایتم هاش تغییر میکنه باید یک اکشن صدا زده بشه در کدی که شما گذاشتید این مورد دیده نمی شه
onchange =
"GetArticleClass(this)"
در اینجا صدا زدم و در اینجا پاس دادم مقدار و در اینجا url:
'/new/GetArticleClass/'
+ $(
"#iD_neo"
).val(),پاس دادم
دقت نکردید دوست من بعد از Change اکشن getCities در نمونه فراخوانی میشه
متوجه نمی شوم کدام اکشن می گوید
در کنترلر Home قرار داره
وقتی دروپ دون تغییر میکنه مقداری که تغیر کرده گرفته میشه
var SelectedVal = $(this).val();
مقدار قبلی پاک میشه وفقط عبارت "انتخاب کنید " اضافه میشه
$("#StateId").append($("<option></option>").attr("value", '') .text('@Resource.Title.Choose'));
اگر مقدار خالی نباشد
if (SelectedVal != '') {
این ادرس رو صدا بزن
$.get('@Url.Action("SelectStates")', { "Id": SelectedVal })
در صورتی که داده ای از کنترلر برگردد ان را در دروپ دون بریز
.success(function(data) { $.each(data, function(index, item) { $("#StateId").append($("<option></option>").attr("value", item.Id) .text(item.Caption)); });
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)