我的Laravel应用程序中有几个需要翻译的选择输入(我管理多种语言)。
以下是一个例子:
{!! Form::select('gender', ['M'=> trans('core.male') ,
'F'=> trans('core.female') ,
'X'=> trans('core.mixt') , ],
null, ['class' => 'form-control',"v-model"=>"gender"]) !!}
所以,基本上,我想要达到的目标是能够获得性别'的价值。
现在,我可以获得身份证明(' M',' F',' X')
我无法在我的js中声明,因为trans(' core.male')无法在.blade.php文件外工作
所以,我应该创建一个Web服务并通过AJAX调用它,但是它真的有必要吗?
或者我可以在我的.blade.php中的js变量中设置每个变量但是再一次,如果我有大型列表则不太好。
我更喜欢打火机。
任何想法如何解决它而不生成胖代码???
答案 0 :(得分:0)
您可以为元素指定id
属性,然后在计算变量中使用javascript查找所选选项的文本:
刀片:
{!! Form::select('gender', ['M'=> trans('core.male') ,
'F'=> trans('core.female') ,
'X'=> trans('core.mixt') , ],
null, ['class' => 'form-control',"v-model"=>"gender","id"=>"gender"]) !!}
JS:
....
computed:{
selectedText: function () {
this.gender = this.gender //this forces a re-compute when this.gender changes
var sel = document.getElementById('#gender');
if (sel.selectedIndex == -1)
return null;
return sel.options[sel.selectedIndex].text;
}
}
....