嘿所有这是我第一次遇到javascript / jquery这个问题。下面我有一部分代码,我试图放置一个 IF / Than else语句,以便决定我需要将什么类型的类放入DIV中创建:
Select3.Templates = {
dropdown: function (options) {
var extraClass = (options.dropdownCssClass ? ' ' + options.dropdownCssClass : ''),
searchInput = '';
if (options.showSearchInput) {
extraClass += ' has-search-input';
var placeholder = options.searchInputPlaceholder;
searchInput = (
'<div class="select3-search-input-container">' +
'<input class="select3-search-input"' + (placeholder ? ' placeholder="' + escape placeholder) + '"'
: '') + '>' +
'</div>'
);
}
return (
'<div class="select3-dropdown' + extraClass + '">' + searchInput + '<div class="select3-results-container"></div>' +
'</div>'
);
},
loading: function () {
return '<div class="select3-loading">' + Select3.Locale.loading + '</div>';
},
loadMore: function () {
return '<div class="select3-load-more">' + Select3.Locale.loadMore + '</div>';
},
multipleSelectInput: (
'<div class="select3-multiple-input-container">' +
'<input type="text" autocomplete="off" autocorrect="off" autocapitalize="off" class="select3-multiple-input">' +
'<span class="select3-multiple-input select3-width-detector"></span><div class="clearfix"></div>' +
'</div>'
),
[ect...ect..]
我正在尝试将 if else else语句插入 multipleSelectInput 区域,但我不确定如何去做,因为它似乎是某种类型的数组(或对象数组)或我不知道它叫什么的东西:)?
如果我将 if than else语句放在 if(options.showSearchInput){上方 multipleSelectInput 区域内?< / p>
我需要在 multipleSelectInput 中更改:
'<div class="select3-multiple-input-container">' +
到
'<div class="select3-multiple-input-containerADMIN">' +
取决于 if statement else 路径。
那么如何在需要的地方插入 if else else 语句?
答案 0 :(得分:1)
您正在定义一个对象文字(Select3.Templates),而multipleSelectInput似乎是一个字符串属性。您不能直接将语句放入对象文字中,但可以提前计算变量,然后将属性值设置为该变量的值。
示例:
var multiSelectClass = "select3-multiple-input-container";
if (something == "admin")
multiSelectClass += "ADMIN";
Select3.Templates = {
// stuff
multipleSelectInput: '<div class="' + multiSelectClass + '"....."
}