显示从下拉列表中选择的VALUE而不是ID

时间:2011-07-22 02:26:26

标签: jquery asp.net-mvc-3 jeditable

我正在使用jEditable来允许对我的DataTable进行内联编辑。

我使用一个下拉列表,允许用户选择新值并将其更新回db。

我的下拉列表由值/ id对列表组成,id将用于链接到另一个db表以检索相应的值。

 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);
    }

目前我可以在下拉列表中显示VALUE(对于我的情况,名称:例如,Fruit,Rice..etc),一旦用户提交,我将ID存储在表格中。

我的问题是,一旦用户提交新值,我的表格的文本字段显示ID但不显示VALUE。我需要刷新我的表的页面,以根据所选的ID显示正确的VALUE(即名称)。

任何想法如何让我的表在用户提交后直接显示VALUE,而不刷新?

2 个答案:

答案 0 :(得分:0)

尝试:

$("#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);
});

问候,Javad

答案 1 :(得分:0)

我想我在做类似的事情:

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

我使用回调并将下拉字段文本设置为Name而不是ID,但我不知道这是一种非常糟糕的方式吗?