Показать выбранное значение из выпадающего списка вместо идентификатора - PullRequest
0 голосов
/ 22 июля 2011

Я использую jEditable, чтобы разрешить встроенное редактирование для моих DataTables.

Я использую раскрывающийся список, который позволяет пользователю выбрать новое значение и обновить его до дБ.

Мой раскрывающийся списоксостоит из списка пары значение / идентификатор, идентификатор будет использоваться для связи с другой таблицей БД для получения соответствующего значения.

 public JsonResult GetFoodTypes()
    {
        // Select a list of food types as editable drop down
        var foodTypes = dbEntities.FoodTypes.ToList();
        var list = foodTypes.Select(f => new[]{f.FoodTypeID.ToString(), f.FoodTypeName.ToString()});
        return Json(list, JsonRequestBehavior.AllowGet);
    }

В настоящее время я могу отобразить ЗНАЧЕНИЕ (в моем случае это имя: например, Fruit, Rice..etc) в раскрывающемся списке, и после отправки пользователем я сохраняю идентификатор вТаблица.

Моя проблема в том, что, как только пользователь отправит новое значение, текстовое поле моей таблицы отображает идентификатор, но не ЗНАЧЕНИЕ.Мне нужно обновить страницу для моей таблицы, чтобы она отображала правильное ЗНАЧЕНИЕ (т. Е. Имя) на основе выбранного идентификатора.

Есть идеи, как моя таблица отображает ЗНАЧЕНИЕ сразу после отправки пользователем без обновления?

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Я думаю, что я делаю что-то подобное здесь:

callback: function (value, settings) {
            var temp = getFoodTypeName(value);
            //alert(temp);
            $(this).text(temp);
        }

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

0 голосов
/ 22 июля 2011

попробуй:

$("#your_drop_down_id").change(function () {

    // retrives the selected option's value
    var id = $('option:selected', this).val();

    // retrives the selected option's inner text
    var text = $('option:selected', this).html();

    // or do something else, you need, with id and/or text
    alert(id + " : " + text);
});

С уважением, Джавад

...