Есть ли способ сохранить дополнительный атрибут в DropDownList, заполненном с помощью AJAX, кроме значения / текста? - PullRequest
0 голосов
/ 23 января 2019

Я использую Ajax для заполнения DropDownList, когда пользователь выбирает элемент в этом DropDownList, мне нужно показать дату в другом поле, и эта дата является полем, присутствующим в самой сущности DropdownList, было бы идеально добавить все3 поля из этой сущности (значение / текст / дата) в DropDownList.Я уже получаю их через Ajax.Так есть ли способ сделать это?Если нет, думаю, я попытаюсь добавить дополнительный DropDownList (скрытый) или что-то в этом роде, но эта идея не очень хороша, поскольку мне нужно будет обновлять этот дополнительный элемент управления при каждом взаимодействии с пользователем.

РЕДАКТИРОВАТЬ: Добавление вызова Ajax и кода, связанного с DropDown, я добавляю 2 поля значение / текст, но мне нужно третье:

    function GetLote(_idProducto) {
    $("#FechaVencimiento").val('');
    var procemessage = "<option value='0'> Cargando...</option>";
    $("#ddllote").html(procemessage).show();

    var data = JSON.stringify({
        idProducto: _idProducto
    });

    return $.ajax({
        url: "/Deposito/GetLotesPorProducto",
        data: data,
        cache: false,
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        success: function (data) {
            var markup = "<option value='0'>Seleccionar..</option>";
            for (var x = 0; x < data.length; x++) {
                markup += "<option value=" + data[x].Value + ">" + data[x].Text + "</option>";
            }
            $("#ddllote").html(markup).show();

        },
        error: function (reponse) {
            alert("error : " + reponse);
        }
    });
}

1 Ответ

0 голосов
/ 23 января 2019

Поскольку вы хотите передать три поля: текст, значение и дату, и вы используете AJAX и jquery.Вы можете использовать другие свойства выпадающего списка, например, для текстового пользователя Text, для значения Value и для даты вы можете использовать innerText.Так что это будет примерно так:

for (var x = 0; x < data.length; x++) {
     markup += "<option value=" + data[x].Value + ">" + data[x].Text + "</option>";
         }
    $("#ddllote").html(markup).show()

 for (var x = 0; x < data.length; x++) {
       $('#ddllote')[x].innerText=data.Date
             } //Here i have looped again to caputure the Date.

Теперь, где бы вы ни хотели использовать дату выбранного элемента, вы можете сделать это, используя innerText выбранного элемента.

var DateinAnotherField= $('#ddlloteoption:selected').innerText;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...