Как получить текст из enum через JavaScript в представлении MVC - PullRequest
0 голосов
/ 14 сентября 2018

Создан класс enum и из этого списка enum связан выпадающий список в представлении MVC.

Теперь, когда бы я ни выбрал список enum из выпадающего списка в то время, я хочу получить текст из JavaScript и сохранить его в переменной.

Но, когда я делаю это с помощью document.getelementbyid или name , тогда он показывает undefined или значение null

Итак, вы можете ответить на этот вопрос, как я могу получить имя перечисления с помощью JavaScript и сохранить в переменной

Вот мой код,

Enum Class

namespace Nop.Core.Domain.FreeLancer
{
    public enum DocumentList
    {
        ElectricityBill = 0,
        RentAgreement = 1,
        Logo = 2,
        PanCard = 3,
        AadharCard = 4,
        BankCancelCheque = 5,
        OldItReturnFile = 6,
        InterestCertyOfFD = 7,
        AgricultureBill = 8,
        ShortTermCapitalGainProfitLossAmount = 9
    }
}

Вот контроллер

public virtual IActionResult Edit()
{   
    var model = customer.ToModel();

    // AddDocumentListViaEnum
    var documentList = Enum.GetValues(typeof(DocumentList)).Cast<DocumentList>();
    foreach (var document in documentList)
        model.AddCustomerDocumentModel.AvailableDocuments.Add(new SelectListItem { Text = document.ToString(), Value = ((int)document).ToString() });

    return View(model);
}

Вот представление для привязки элемента перечисления в выпадающем списке

<select id="availabledocument" name="availabledocument"
    class="form-control"
    asp-items="@Model.AddCustomerDocumentModel.AvailableDocuments" onchange="OtherDocument(this.value);">
    <option value="">Select</option>
</select>

Теперь до этого все в порядке. Теперь я хочу получить имя из JavaScript и сохранить в переменной.

Вот этот код вида,

function OtherDocument(documentValue) {
    var storeValue = document.getElementById("availabledocument").value;
    var storeValue1 = document.getElementByName("availabledocument").value;
}

Эта строка кода не работает.

1 Ответ

0 голосов
/ 14 сентября 2018

Как прокомментировал Крис, значение уже передано в функцию, поэтому нет необходимости захватывать его снова, тем не менее, если вы хотите получить значение с помощью селектора, вы можете написать следующий код

function OtherDocument() {
     var elm= document.getElementById("availabledocument");      
     var selectedValue = elm.options[elm.selectedIndex].value;    
}

Если вы используете jQuery, вы можете написать следующий код:

 $("#availabledocument option:selected").val();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...