2011-07-22 114 views
0

我正在使用jEditable来允许对我的DataTables进行内联编辑。显示从下拉列表中选择的值而不是ID

我使用允许用户选择新值并将其更新回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); 
    } 

目前我能够显示的数值(对于我来说,这个名字:如水果,Rice..etc)在下拉,一旦用户提交,我的ID存储在表中。

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

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

回答

0

我想我做类似的东西在这里:

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

我用的回调并设置下拉字段文本的名称,而不是的身份证,但我不知道这是一个非常糟糕的方式?

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

问候,贾瓦德

相关问题