• 1401/06/07

عدم اجرای Script ComboBox :

سلام 

بنده اسکریپت  رو پیاده کردم هیچ خطایی هم ندارم ولی combo box هام خالی میمونه  کد هام : نمیدونم مشکلش چیه هر چی سرچ هم میکنم مشکلرا پیدا نمیکنم ممنون میشم کمکم کنید 

 

@section Scripts
{
    <script>
        $("#Mahsol_GroupId").change(function () {
            $("#Mahsol_ZirGroupId").empty();
            $.getJSON("/Home/GetSubGroup/" + $("#Mahsol_GroupId : selected").val(),
                function (data) {
                  $.each(data,
                  function () {
                  $("#Mahsol_ZirGroupId")
                 .append ('<option value=' + this.value + '>' + this.text + '</option>');
                        });
                });
        });
    </script>
}
  • 1401/06/07
  • ساعت 11:20

واقعیت چند روز دارم میگردم هنوز به جوابی نرسیدم هیچ خطایی هم ندارم 

فقط تنها فرق با نحوه کد های استاد رنگ کد هاست که مثلا استاد وقتی this.value v  رو میزنن value  رو قبل از نوشتن کامل کلمه بهشون نشون میده اما واسه من چون "" زدم مثل استاد حالت قرمز زنگ میشه و هیچ چیز انتخابی وجود نداره هیچ خطایی هم نداره ؟!!

 


  • 1401/06/07
  • ساعت 16:43

سلام دوست عزیز

وقتتون بخیر

دوست من بجای استفاده از this برا فانکشن داخلی پارامتر تعریف کنید و با استفاده از پارامتر مقدار هارو بگیرید


  • 1401/06/07
  • ساعت 21:13

یعنی منظورتون اینه که بیام به شکل زیر عمل کنم 

var value = this.value 

var text = this.text 

 

بعد بیام مقدار های بالا رو بدم به script? 

اگه منظورتون اینه این کار هم کرده بودم بازم جواب نداد درکش نمیکنم چرا بدین شکله 


  • 1401/06/08
  • ساعت 08:23

خیر دوست من حلقه رو از این روش پیاده سازی کنید 

$.each(data,funcation(index,value){ 
 
  var val=value.text,
  var id=value.value
 
})

  • 1401/06/08
  • ساعت 08:41

ببخشید اگه اذیت  میکنم چون واقعا مشکلی هست که نمیتونم حل کنم مزاحم میشم 

این کد script واسه اینه که یک combo رو به یک combo box دیگه ارتباط بدم یعنی وقتی یک گزینه انتخاب میشه در combo اول خودکار combo دوم فیلتر میشه و موارد رو نسبت به باکس اول نشون میده این چیزی که شما فرمودین append که بخواد یک option به select اضافه کنه رو نداره یعنی نیاز به اون نیست؟ چون من تست کردم  مورد رفع نشد 



  • 1401/06/08
  • ساعت 11:24

من حس میکنم این کد  رو نمیخونه و دیتایی بهش نمیده آیا جای این کد میشه جوری دیگه json رو فراخوانی کرد ؟

 

$.getJSON("/Home/GetSubGroup/" + $("#Mahsol_GroupId : selected").val(),

  • 1401/06/08
  • ساعت 12:34

 نکته ای هم که راجبش سرچ هم کردم این بود که وقتی this رو میزنم و بعد ( . )میزنم برای تمام موارد قابل انتخاب  جمله زیر طبق عکس بهم نمایش داده میشه که سرچ هم کردم متوجه نشدم intellisense  دقیقا چه مشکلی هستش و آیا ربط داره به خطای من یا نه 

 

intellisense is unable to determine the accuracy of this completion item

 


  • 1401/06/08
  • ساعت 15:39

سلام دوست من وقتتون بخیر

خواهش میکنم دوست من

شما  لطفا f12 رو بزنید و ببینید کنسولتون ارور میده به این اسکریپت نوشته شده یا نه

دوست من شما ()val. رو از انتهای دستور getJSON بردارید و مجددا تست کنید


  • 1401/06/08
  • ساعت 16:52

ممنون از پاسختون اما این موارد هم انجام دادم متاسفانه باز عمل نکرد البته جالبه که قسمت اول script رو اجرا میکنه اون قسمت. () empty  داره اجرا میشه و بعد از تغییر combo اول میاد combo دوم رو خالی میکنه ولی قسمت دومش رو واقعیت قابلیت Trace هم نمیدونم واسه script هست یا نه که بتونم ببینم کجا دیتا نمیگیره تست json ایجاد شده در کنترلر هم گرفتم مشکلی نبود 


  • 1401/06/08
  • ساعت 17:07

دوست من از debugger جاوااسکریپت استفاده کنید و کد رو دیباگ کنید

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

خط به خط دیباگ کنید تا متوجه خطا بشین


logo-enamadlogo-samandehi