Javascript 使用i18next时,select2的第一个值不显示
我正在用lib i18进行国际化接下来,好的,它转换并放入值在Javascript 使用i18next时,select2的第一个值不显示,javascript,jquery,html,jquery-select2,i18next,Javascript,Jquery,Html,Jquery Select2,I18next,我正在用lib i18进行国际化接下来,好的,它转换并放入值在select2中,第一个值不会以任何方式显示,即使我打开select2并单击第一项。有人知道会发生什么吗 HTML: 选择2 $(文档).ready(函数(){ GetTipo(); }) Javascript:(arquivo.js) 函数GetTipo(){ 变量$selectTipo=$('#selectTipo'); $selectTipo.append($('',{value:'0',text:$(this.da
select2
中,第一个值不会以任何方式显示,即使我打开select2
并单击第一项。有人知道会发生什么吗
HTML:
选择2
$(文档).ready(函数(){
GetTipo();
})
Javascript:(arquivo.js)
函数GetTipo(){
变量$selectTipo=$('#selectTipo');
$selectTipo.append($('',{value:'0',text:$(this.data('data-i18n')}));
$selectTipo.append($('',{value:'1',text:$(this.data('data-i18n')}));
$selectTipo.append($('',{value:'2',text:$(this.data('data-i18n')}));
$selectTipo.append($('',{value:'3',text:$(this.data('data-i18n')}));
$selectTipo.append($('',{value:'4',text:$(this.data('data-i18n')}));
$selectTipo.append($('',{value:'5',text:$(this.data('data-i18n')}));
$selectTipo.val(“0”)。触发器(“更改”);
$selectTipo.select2();
}
IMAGEM:
JSFIDDLE:
对代码只做几句注释。您正在为每个
.append()
尝试$(此).data('data-i18n')
,但据我所知,GetTipo()
函数的作用域将被限定为窗口作用域,字面意思是$(窗口)。data('data-i18n')
将始终几乎不返回任何内容。+<设置新的.val()
后,代码>更改事件仍将被激发。此外,当使用.data()
时,您不需要写完整的属性名,只需不带data-
前缀的部分即可。在其他链接中解决了这一问题。请在代码中添加一些注释。您正在为每个.append()
尝试$(此).data('data-i18n')
,但据我所知,GetTipo()
函数的作用域将被限定为窗口作用域,字面意思是$(窗口)。data('data-i18n')
将始终几乎不返回任何内容。+<设置新的.val()
后,代码>更改事件仍将被激发。此外,当使用.data()
时,您不需要写完整的属性名,只需不带data-
前缀的部分即可。在其他链接中解析BR
<html>
<head><title>Select2</title></head>
<body>
<div>
<label class="col-sm-12 text-white" style="text-align: left;" data-i18n="store.tipo"> </label>
<div class="col-sm-12">
<select id="selectTipo" class="form-control"></select>
<br/>
<br/>
</div>
</div>
<script src="~/lib/jquery.js" type="text/javascript"></script>
<script src="~/lib/select2.js" type="text/javascript"></script>
<script src="~/js/arquivo.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
GetTipo();
})
</script>
</body>
</html>
function GetTipo(){
var $selectTipo = $('#selectTipo');
$selectTipo.append($('<option data-i18n="store.comboTipos.todos">', { value: "0", text: $(this).data('data-i18n')}));
$selectTipo.append($('<option data-i18n="store.comboTipos.painel">', { value: "1", text: $(this).data('data-i18n') }));
$selectTipo.append($('<option data-i18n="store.comboTipos.report">', { value: "2", text: $(this).data('data-i18n') }));
$selectTipo.append($('<option data-i18n="store.comboTipos.notificacao">', { value: "3", text: $(this).data('data-i18n') }));
$selectTipo.append($('<option data-i18n="store.comboTipos.auditoria">', { value: "4", text: $(this).data('data-i18n') }));
$selectTipo.append($('<option data-i18n="store.comboTipos.apresentacao">', { value: "5", text: $(this).data('data-i18n') }));
$selectTipo.val("0").trigger("change");
$selectTipo.select2();
}