2016-10-16 36 views
-1

我在laravel 5.2中使用x-editable。我想存储来自数据源的相应值的文本。我只能将值存储在数据库中。如何从类型为'select'的数据源中获取值的文本? (x-editable)(laravel 5.2)

我的视图:

<label>Course:</label><a href="#" id="course" data-name="course" data-type="select" data-value="" data-pk="{{Auth::user()->id}}" data-source="{1: 'B.tech', 2: 'M.tech'}" data-title="course" data-url="{{route('course')}}"></a> 

控制器:

public function course(Request $request) 
{ 

    $account = new Account(); 
    $name = $request->get('name'); 
    $value = $request->get('value'); 

    $request->user()->accounts()->update([$name => $value]); 




    return redirect()->back(); 
} 
+0

我觉得'twitter-bootstrap'标签已关闭。此外,要明确的事情:你想在HTML中显示数据库中的值?你现在能看到什么? – Ivan

+0

@Ivan我在DB中获得'1'和'2',但是我想要'B.tech'和'M.tech'应该存储在数据库中。 –

+0

您可以使用Ajax调用。 –

回答

3

X-可编辑的默认创建select与源对象的键作为选择值和所述源值作为选项显示文本。当然,发送请求时,会发送值(1或2),而不是文本。

但是,如果源是一个数组,则该值将与文本相同。所以,你可以做

<a ... data-type="select" data-source="['B.tech', 'M.tech']"></a> 

如果您不能或不想为属性,当你初始化的组件,你可以做到这一点改变,而不是设置源数据的原始出处,:

$('#YOUR_ELEMENT').editable({ 
    // ... 
    source: function() { 
     var items = {1: 'B.tech', 2: 'M.tech'}; 
     return Object.keys(items).map(function(x) {return items[x];}); 
    }, 
    // ... 
}); 
相关问题