2016-10-03 19 views
0

ページの最初の読み込み時に、ヘルプテキストとアナウンスが表示され、検証後に更新時にヘルプテキストとアナウンスがビューに再び表示されません。私は両方のドロップダウンの呼び出し負荷の変更イベントをページにロードする必要があると思う、私はこれを行う方法を静かではない。最初のドロップダウンのDiv IDは#professionで、2番目のドロップダウンはdiv idです。#enquirytypeです。 ypurスクリプトの先頭でページ上両方のドロップダウンのイベントの呼び出し呼び出しの変更

$('#profession').on('change', function (e) { //Gets the ID of profession drop down list 
      var selectedVal = $(this).val(); //Variable selectedVal this . value 
      $.ajax({ //Ajax declared 
       type: 'GET', //Its a get 
       url: "@Url.Action("GetenquiryTypes", "UnauthEnquiry")", //It goes to the enquiry controller method GetenquiryTypes 
       dataType: 'json', //Datatypes JSON 
       data: { SelectedProfession: selectedVal }, //data is SelectedProfession: selectedVal 
       success: function (json) { //Jquery Parse Json data from server on ajax success 
        if (json.helptext != undefined && json.helptext != '') 
         { 
         $('#ProfHelp').html(json.helptext) 
         $('#ProfHelpAlert').show(); /////// 
        } 
        else 
         $('#ProfHelpAlert').hide(); /////// 

        var targetDropdown = $('#enquirytype') //Var targetDropDropdown goes to dropdown ID enquiry type 
        targetDropdown.empty(); //target empty dropdown 
        $("<option />", { 
         val: "", 
         text: "Please select enquiry type" //Select enquiry type 
        }).appendTo(targetDropdown); //add to the target dd 
        if (json.enquiryTypes.length > 0) { //if JASON data from server greater then 0 
         for (var EnquiryType in json.enquiryTypes) { //go through each EnquiryType in JSON 
          $("<option />", { 
           val: json.enquiryTypes[EnquiryType].EnquiryId, //mapping 
           text: json.enquiryTypes[EnquiryType].Enquiryname //mapping 
          }).appendTo(targetDropdown); //add to drop down 
         }; 
        } 
        targetDropdown.change(); 
       } 
      }); 
     }); 


     $('#enquirytype').on('change', function (e) { //onlick of professions DD 
      var selectedVal = $(this).val(); //Variable selectedVal this .value 
      $('#enquiryTypeHelpAlert').hide(); /////// 
      $('#EnquiryTypeAnnouncements').empty(); 
      if (selectedVal != undefined && selectedVal != '') { 
       $.ajax({ 
        type: 'GET', //Get 
        url: "@Url.Action("GetEnquiryTypeAndAnnoncements", "UnauthEnquiry")", //It goes to the enquiry controller method GetenquiryTypes 
        dataType: 'json', //Datatypes JSON 
        data: { SelectedEnquiryType: selectedVal }, //data is SelectedProfession: selectedVal 
        success: function (json) { //Jquery Parse Json data from server on ajax success 

         if (json.helptext != undefined && json.helptext != '') { 
          $('#enquiryTypeHelp').html(json.helptext) 
          $('#enquiryTypeHelpAlert').show(); /////// 
         } 
         else 
          $('#enquiryTypeHelpAlert').hide(); /////// 
         var announcement = $('.EnquiryTypeAnnouncement:first').clone(); 
         $('#EnquiryTypeAnnouncements').empty(); 
         $('#enquiryTypeHelp').html(json.helptext); 
         for (var i in json.announcements) { 
          var announcementCopy = announcement.clone(); 
          announcementCopy.find(".notification").html(json.announcements[i]); 
          $(announcementCopy).appendTo($('#EnquiryTypeAnnouncements')).show(); 
          $('#EnquiryTypeAnnouncements').show(); 
         } 


        } 
       }); 
      } 

     }); 

答えて

0

DDヘルプテキストを変更したままにしておくと正しいと思われます。

$(document).ready(function() { 
$('#profession').change(); //Keeps profession dropdown list help text displayed 
}); 

これはJqueryにはないため、モデルから取得する必要があります。

var EnquiryType ='@Model.EnquiryType 

変更イベントで取得します。

+0

ありがとう@WaqarMalik – Sam

0

は、問い合わせのタイプはjQueryのでは利用できないよう、あなたの職業は、このような

$(document).ready(function() { 
$('#profession').change(); //Keeps profession dropdown list help text displayed 
}); 

としての機能次のドロップダウンを呼び出します。モデルからそれを取得しています。使用することによって

var EnquiryType ='@Model.EnquiryType 

変更イベントで取得します。

関連する問題