对象部分的Javascript数组if else else语句

时间:2017-11-09 14:28:55

标签: javascript jquery

嘿所有这是我第一次遇到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 语句?

1 个答案:

答案 0 :(得分:1)

您正在定义一个对象文字(Select3.Templates),而multipleSelectInput似乎是一个字符串属性。您不能直接将语句放入对象文字中,但可以提前计算变量,然后将属性值设置为该变量的值。

示例:

var multiSelectClass = "select3-multiple-input-container";
if (something == "admin")
  multiSelectClass += "ADMIN";


Select3.Templates = {
  // stuff
  multipleSelectInput: '<div class="' + multiSelectClass + '"....."
}