Avi*_*tor 1 javascript if-statement kendo-ui kendo-grid
尝试在剑道网格列模板中实现条件函数时,出现问题,未显示网格中的数据,我的函数是
function material() {
if (PCommonPortalMethods.GetSiteLanguage() == 'en') {
if (data.Unit._Key) {
Unit.UnitGlobalName
}
else ('')
}
else {
if (data.Unit._Key) {
Unit.UnitLocalName
}
else ('')
}
}
Run Code Online (Sandbox Code Playgroud)
我从模板中调用它,例如: template:'#= material() #'
我也尝试过类似的事情:
template: "#if (PCommonPortalMethods.GetSiteLanguage() == 'en') {# if(data.Unit._Key) #=Unit.UnitGlobalName# else(" ") #} else { # if(data.Unit._Key) #=Unit.UnitLocalName# else(" ") #} #"
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?我究竟做错了什么?谢谢
你应该return在它里面使用,像这样改变你的脚本
function material() {
if (PCommonPortalMethods.GetSiteLanguage() === 'en') {
if (data.Unit._Key) {
return Unit.UnitGlobalName;
}
return '';
}
else {
if (data.Unit._Key) {
return Unit.UnitLocalName;
}
return '';
}
}
Run Code Online (Sandbox Code Playgroud)
或者我们可以像这样更改您的脚本
function material() {
var text = '';
if(data.Unit._key) {
text = PCommonPortalMethods.GetSiteLanguage() === 'en' ?
Unit.UnitGlobalName : Unit.UnitLocalName;
}
return text;
}
Run Code Online (Sandbox Code Playgroud)
简单但仍然可读,如果你想制作一个脚本模板,它可能是这样的。
<script type="text/x-kendo-template" id="template">
# if (PCommonPortalMethods.GetSiteLanguage() === 'en') { #
# if(data.Unit._Key) { #
<span> #= Unit.UnitGlobalName # </span>
# } #
#} else { #
# if(data.Unit._Key) {#
<span> #= Unit.UnitLocalName # </span>
# } #
# } #
</script>
Run Code Online (Sandbox Code Playgroud)
并像这样使用它
template: kendo.template($("#template").html()),
Run Code Online (Sandbox Code Playgroud)