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

对象部分if-than-else语句的Javascript数组,javascript,jquery,Javascript,Jquery,嘿,这是我第一次在javascript/jquery中遇到这个问题。下面是我试图放置IF/Than-else语句的部分代码,以便决定需要将什么类型的类放置到它创建的DIV中: Select3.Templates = { dropdown: function (options) { var extraClass = (options.dropdownCssClass ? ' ' + options.dropdownCssClass : ''), searchInput

嘿,这是我第一次在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-than-else语句插入multipleSelectInput区域,但我不确定如何执行该操作,因为它似乎是某种类型的数组或对象数组,或者我不知道它的名称:

如果我将If-than-else语句放在If-options.showSearchInput{的上方,这在multipleSelectInput区域内有效吗

我需要在multipleSelectInput中更改的是:

取决于if语句else路径


那么,我怎样才能在需要的地方插入if-than-else语句呢?

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

例如:

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


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

是的,这就是我需要它做的!谢谢你的知识,詹姆斯!
'<div class="select3-multiple-input-containerADMIN">' +
var multiSelectClass = "select3-multiple-input-container";
if (something == "admin")
  multiSelectClass += "ADMIN";


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