مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

rooz450

عضویت از 1392/08/12

خطای در هنگام پرگشت مقادیر

  • دوشنبه 15 آذر 1395
  • 16:59
تشکر میکنم
سلام یک دراپ دارم وقتی که یکی از آیتمهای آن را انتخاب می کنم id آیتم انتخاب شده را به کنترلر می فرستم و با توجه به id رکودهای سلکت می کنم می خواهم نتیجه برگشتی رکودها را با ajax درون پارتیشال ویو نمایش دهم ولی زمانی که قصد نمایش اطلاغات در پارتیشال ویو دارم ajax خطای undefined نمایش می دهد علت نمایش خطای undefined چیست
دراپ اولی به صورت زیر است 
  <div class="group">
            @Html.LabelFor(model => model.iD_neo, new { @class = "label" })
            <div class="controls">
                @Html.DropDownListFor(model => model.iD_neo, new SelectList(Model.khodro_noes, "iD_neo", "mame_noe"), "استان مورد نظر خود را انتخاب کنید")
                @Html.ValidationMessageFor(model => model.iD_neo)
            </div>
        </div>
کد ajax به صورت زیر است 
@section Scripts {
    @Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
        $(function() {
            $("#iD_neo").change(function () {
                $.ajax({
                    url: "/new/GetCities",
                    data: { iD_neo: $("#iD_neo").find(":selected").val() },
                   
                    type: "Post",
                    dataType: "Html",
                    success: function (result) {
                        $("#divDrpCity").html(result);
                      
                    },
                    error: function (e) {
                      
                    
                    
                    }
                });
            });
        })
</script>
}
علت نمایش خطای undefined چیست

پاسخ های این پرسش

تعداد پاسخ ها : 7 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • دوشنبه 15 آذر 1395
  • 17:52

لطفا برای درج از کلید کد در ادیتور استفاده کنید تا بتونیم کدها رو بخونیم

کاربر سایت

rooz450

عضویت از 1392/08/12

  • سه شنبه 16 آذر 1395
  • 13:51
 <div class="form-group">
            @Html.LabelFor(model => model.iD_neo, "iD_neo", htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.DropDownList("iD_neo", null, htmlAttributes: new { @class = "form-control" ,@id="drp"})
                @Html.ValidationMessageFor(model => model.iD_neo, "", new { @class = "text-danger" })
            </div>
        </div><div class="group" id="divDrpCity">
<script type="text/javascript">
        $(function() {
            $("#drp").change(function () {
                $.ajax({
                    url: "/new/GetCities",
                    data: { id: $("#drp").find(":selected").val() },
                   
                    type: "Post",
                    dataType: "Html",
                    success: function (result) {
                        $("#divDrpCity").html(result);
                      
                    },
                    error: function (e) {
                      
                        alert(e);
                    
                    }
                });
            });
        })
</script>
}


کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 16 آذر 1395
  • 15:11

کد اکشن را نیز قرار دهید

آیا مقدار ورودی به اکشن درست و صحیح است ؟

کاربر سایت

rooz450

عضویت از 1392/08/12

  • سه شنبه 16 آذر 1395
  • 17:16

کنترلر مقدار برگشتی دارد

   public ActionResult GetCities(Guid id)
        {
            var t = new droptwo();
           
            var g = db.khodro_noe2s.Where(p => p.iD_neo == id); 
           
            t.khodro_noe2s = g;
            return PartialView("__GetCities", t.khodro_noe2s);
        }

این هم پارتیشال ویو است

@model mashin.ViewModel.droptwo
@Html.LabelFor(model => model.iD_neo2, new { @class = "label" })
<div class="controls">
    @Html.DropDownListFor(model => model.iD_neo2, new SelectList(Model.khodro_noe2s, "iD_neo2", "mame_noe2"), "شهر نمایندگی را انتخاب کنید")
    @Html.ValidationMessageFor(model => model.iD_neo2)
</div>

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 17 آذر 1395
  • 09:29

نمونه زیر را ببینید

فایل های ضمیمه

کاربر سایت

rooz450

عضویت از 1392/08/12

  • چهارشنبه 17 آذر 1395
  • 17:07

در سمپل بالا چگونه می توانم  در کدهای جی کوئری validtion برای دو دراپ لیست بگذارم 

 <script type="text/javascript">
      $(document).ready(function () {

          $("#ddlCountry").change(function () {
              var SelectedVal = $(this).val();
              $("#ddlSate").hide();
              $("#ddlSate").html('');
              
              $("#ddlSate").append($("<option></option>").attr("value", '')
                  .text('انتخاب شهر '));
              if (SelectedVal != '') {

                  $.get('/Home/GetState/',
                  {
                      "CountryId": SelectedVal
                  }).success(function (data) {
                      $("#ddlSate").show();
                      $.each(data, function (index, item) {
                          $("#ddlSate").append($("<option></option>").attr("value", item.StateId)
                              .text(item.StateName));
                      });

                  });
              }
          });
      })
</script>
    
}

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • چهارشنبه 17 آذر 1395
  • 20:05

قبل از فانکشن Change میتونید چک کنید Value خالی هست یا نه

با یک if از طریق جی کوئری چک کنید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)