Tengo un código en el que estoy comprobando si el valor es null o turnedoff y luego pongo un blank space en la variable en el lado izquierdo. Pero por alguna razón, turnedoff no se está reemplazando. ¿Qué estoy haciendo mal?

Js:

$scope.ModelAux ={
  ssclientID: sessionStorage.clientId === ('null' || 'turnedoff') ? '' : sessionStorage.clientId
};

alert($scope.ModelAux.ssclientID);

CSHTML:

<input type="text" name="clientID" class="form-control input-md" ng-model="ModelAux.ssclientID" required/>
1
BumbleBee 13 may. 2016 a las 21:08

3 respuestas

La mejor respuesta

Éste

sessionStorage.clientId === ('null' || 'turnedoff') ?

Debe ser

sessionStorage.clientId === 'null' || sessionStorage.clientId ===  'turnedoff' ?

Porque

'null' || 'turnedoff'

Siempre es 'null' y no comprueba si el valor es 'turnedoff'.

6
Nina Scholz 13 may. 2016 a las 18:11

Lo que dice @Nina Scholz es correcto. Si quieres ser más conciso, también puedes hacer:

['null','turnedoff'].indexOf(sessionStorage.clientId) >= 0 ? '', sessionStorage.clientId;
2
Paul 13 may. 2016 a las 18:13

Intenta seguir

(!sessionStorage.clientId || sessionStorage.clientId ===  'turnedoff') ? ''
1
Jahirul Islam Bhuiyan 13 may. 2016 a las 18:14