Javascript 对象部分数组 if then 语句

标签 javascript jquery

嘿,这是我第一次遇到 javascript/jquery 的问题。下面是我尝试放置 IF/Than else 语句 的部分代码,以便决定需要将什么类型的 class 放入 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 then else 语句插入 multipleSelectInput 区域,但我不确定如何去做,因为它似乎是某种类型的数组(或对象数组)或我不知道它叫什么的东西:)?

如果我将 if than else 语句放在 if (options.showSearchInput) { 上方,该语句会在 multipleSelectInput 区域内起作用吗?

我需要在multipleSelectInput中更改的是:

'<div class="select3-multiple-input-container">' +

'<div class="select3-multiple-input-containerADMIN">' +

取决于 if 语句 else 路径。

那么如何在需要的地方插入 if then 语句呢?

最佳答案

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

示例:

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


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

关于Javascript 对象部分数组 if then 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47204371/

相关文章:

javascript - 防止下一个按钮在 Qualtrics 中工作

javascript - 当使用 jQuery.Mockjax 模拟生成的 JSON 时,Backbone.Collection.fetch() 始终返回 404

javascript - 正则表达式功能打破密码强度功能

javascript - 为什么 jQuery 的 .change() 事件仅在单击鼠标右键时触发?

jquery - 溢出 div 内容需要灵活的高度

javascript - chrome.notifications 间歇性未定义

javascript - 隐藏搜索字段代码只执行一次

javascript - JQuery - 检查 IMG src 是否有效

javascript - 动态表中的事件点击

javascript - JSON,数组推送功能不适用于变量定义的键