javascript - tag - title of page html
JavaScript: IIF como declaraciĆ³n (5)
Algo como esto:
for (/* stuff */)
{
var x = ''<option value="'' + col + ''" ''
+ (col === ''screwdriver'' ? ''selected'' : '''')
+ ''>Very roomy</option>'';
// snip...
}
Viniendo de VB, JavaScript no es muy fácil de entender. Por favor, no seas negativo, he intentado y buscado mucho pero sin suerte. Por cierto, estoy creando un control desplegable inicializado desde una lista de opciones Select
en JS.
Código simulado:
var col = ''tardis'';
var x = ''<option value="'' + col + ''">Very roomy</option>'');
Me gustaría agregar selected
después del valor de col SOLAMENTE si col es igual a ''destornillador''.
He intentado usar la declaración IF con el? y el: pero parece que no puedo entender mi cabeza. Tener '''' como el valor falso no funciona. No se seleccionan elementos y la lista está en blanco. Eliminar la declaración IF y todas las obras.
Cualquier idea y otra vez, perdón por la novedad.
Escribí esto en mi barra de URL:
javascript:{ var col = ''screwdriver''; var x = ''<option value="'' + col + ''"'' + ((col == ''screwdriver'') ? '' selected'' : '''') + ''>Very roomy</option>''; alert(x); }
Si su objetivo final es agregar elementos a su página, simplemente manipule el DOM directamente. No use la concatenación de cadenas para tratar de crear HTML, ¡qué pena! Vea cuánto más sencillo es simplemente crear su elemento, en lugar del HTML que representa su elemento:
var x = document.createElement("option");
x.value = col;
x.text = "Very roomy";
x.selected = col == "screwdriver";
Luego, más tarde, cuando coloca el elemento en su página, en lugar de configurar el appendChild()
elemento primario, llame a appendChild()
:
mySelectElement.appendChild(x);
''<option value="'' + col + ''"''+ (col === "screwdriver" ? " selected " : "") +''>Very roomy</option>'';
var x = ''<option value="'' + col + ''"''
if (col == ''screwdriver'') x += '' selected'';
x += ''>Very roomy</option>'';