Если содержит текст справки, отображаемый в представлении?

#javascript #jquery

#javascript #jquery

Вопрос:

В настоящее время у меня есть класс div, по умолчанию не отображающий none, однако я хочу получить значение из текста справки, если он содержит текст справки. Я думаю, что что-то вроде значения if из выпадающего списка содержит текст справки display.show

Ниже мой div

 <div class="alert alert-info col-md-12" id="ProfHelpAlert" role="alert" style="display:none">
    <i class="fa fa-info-circle" aria-hidden="true"></i>
    <strong class="notification" id="ProfHelp"></strong>
</div>
  

Это мой JavaScript

 $('#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
            $('#ProfHelp').html(json.helptext);

            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

                };
            }
        }
    });
});
  

Ответ №1:

Вы хотите сказать, что хотите показать свое справочное сообщение, когда метод ajax завершится успешно? Если да, то это то, что вы ищете?

 success: function(json) {
  //... add to end of method
 if(json.helptext) {
   $('#ProfHelpAlert').show();
 }
}
  

Вам нужно сравнение со значением выбора?

 success: function(json) {
  //... add to end of method
 if(json.helptext == selectedVal) {
   $('#ProfHelpAlert').show();
 }
}
  

Комментарии:

1. Я пытаюсь сказать, существует ли текст справки для значения в раскрывающемся списке, а затем показать @matthew levy

2. Где в вашем коде вы знаете, что «текст справки существует»? Вы имеете в виду параметр «текст» в объявлениях опций?

3. if (json.helptext != undefined amp;amp; json.helptext != «) { $(‘#ProfHelp’).html(json.helptext).show(); /////// } это не работает

4. #ProfHelp вложен в #ProfHelpAlert , который является скрытым элементом. $(‘#ProfHelp’).html(json.helptext); $(‘#ProfHelpAlert’).show();

5. Рассмотрите возможность отображения JSON здесь. json.helptext имеет для меня меньше смысла, чем что-то вроде json. [enquirytype].helptext. (рядом с именем и идентификатором)