来自VB,JavaScript并不是很容易掌握。请不要消极,我已经尝试并搜索了负载,但没有运气。顺便说一下,我正在创建一个从JS中的Select
选项列表初始化的下拉控件。
虚拟代码:
var col = 'tardis';
var x = '<option value="' + col + '">Very roomy</option>');
如果col等于'螺丝刀',我想在col ONLY的值之后添加selected
。
我尝试过使用IF语句?并且:但似乎无法理解它。将''作为假值不起作用。没有选择任何项目,列表为空白。删除IF语句和所有工作。
任何想法,再次,抱歉新手。
答案 0 :(得分:56)
'<option value="' + col + '"'+ (col === "screwdriver" ? " selected " : "") +'>Very roomy</option>';
答案 1 :(得分:3)
var x = '<option value="' + col + '"'
if (col == 'screwdriver') x += ' selected';
x += '>Very roomy</option>';
答案 2 :(得分:3)
这样的事情:
for (/* stuff */)
{
var x = '<option value="' + col + '" '
+ (col === 'screwdriver' ? 'selected' : '')
+ '>Very roomy</option>';
// snip...
}
答案 3 :(得分:2)
如果您的最终目标是向页面添加元素,则只需直接操作DOM即可。不要使用字符串连接来尝试创建HTML - 真是太痛苦了!看看创建元素是多么简单,而不是代表元素的HTML:
var x = document.createElement("option");
x.value = col;
x.text = "Very roomy";
x.selected = col == "screwdriver";
然后,稍后当您将元素放入页面时,不要设置父元素的innerHTML
,而是调用appendChild()
:
mySelectElement.appendChild(x);
答案 4 :(得分:0)
我在网址栏中输入了这个:
javascript:{ var col = 'screwdriver'; var x = '<option value="' + col + '"' + ((col == 'screwdriver') ? ' selected' : '') + '>Very roomy</option>'; alert(x); }