Несколько Тернарных Операторов

ИЛИ сделайте это с помощью jQuery и CSS!

$('input.disabled').attr('ignore','true').css({
    'pointer-events':'none',
     'color': 'gray'
});

Таким образом, вы отключите элемент, и никакие события указателя не будут срабатывать, но он позволяет распространять, и если они отправлены, вы можете использовать атрибут «игнорировать» ', чтобы игнорировать его.

29
задан Deduplicator 31 July 2014 в 17:09
поделиться

6 ответов

Синтаксис будет:

icon: (area == 1) ? icon1 : (area == 2) ? icon2 : icon0,

Но это становится все сложнее. Возможно, вам будет лучше просто создать функцию для выполнения этой работы:

icon: getIcon(area),

...

function getIcon(area) {
  if (area == 1) { 
    return icon1; 
  } else if (area == 2) { 
    return icon2; 
  }

  return icon0;
}
49
ответ дан Justin Ethier 31 July 2014 в 17:09
поделиться

Как насчет объектного литерала.

icons = {
    0: icon0,
    1: icon1,
    2: icon2
}

icon = icons[area];
8
ответ дан Bruno 31 July 2014 в 17:09
поделиться

Очень простой способ

Если ваш объект такой:

var obj = {
  x: true,
  y: {
    xy: 'some value'
  }
}

var result = obj ? obj.y ? obj.y.xy ? obj.y.xy : 'N/A' : 'N/A' : 'N/A'

console.log(result) // "some value"
8
ответ дан adiga 31 July 2014 в 17:09
поделиться

Как насчет:

icon: [ icon0, icon1, icon2 ][area],
21
ответ дан Pointy 31 July 2014 в 17:09
поделиться
icon: (area == 0) ? icon0 : (area == 1) ? icon1 : icon2,
2
ответ дан John Hartsock 31 July 2014 в 17:09
поделиться

Для любого, кто запутался в множественном троичном синтаксисе (как я), это выглядит так:

var yourVar = condition1 ? someValue
            : condition2 ? anotherValue
            : defaultValue;

Вы можете добавить столько условий, сколько захотите.

Вы можете прочитать далее https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator

0
ответ дан Adam 31 July 2014 в 17:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: