【发布时间】:2015-04-17 20:36:49
【问题描述】:
下面的代码可以改成JavaScript吗?
foreach ($liftdeets as $lifts) {
echo '<option>'.$lifts["LiftMakes"].'</option>';
}
【问题讨论】:
标签: javascript php foreach
下面的代码可以改成JavaScript吗?
foreach ($liftdeets as $lifts) {
echo '<option>'.$lifts["LiftMakes"].'</option>';
}
【问题讨论】:
标签: javascript php foreach
Javascript 与 PHP 的foreach 有类似的方法,这里是一个例子:
var test = [
{a: 1, b: 2,},
{a: 3, b: 4,}
];
test.forEach(function(val){
console.log(val.a);
});
【讨论】:
var var?真的吗? => Uncaught SyntaxError: Unexpected token var
如果我们需要从字面上“转换”它:
<script>
var liftdeets = <?php echo json_encode($liftdeets); ?>;
for (var i = 0; i < liftdeets.length; i++) {
document.write('<option>' + liftdeets[i]["LiftMakes"] + '</option>');
}
</script>
似乎它与问题中提到的 PHP 代码相同。
附:请注意,我有点开玩笑,您应该注意我们以更“优雅”的方式使用 DOM 树的答案。
【讨论】:
您可以为此使用 javascript 函数:
function addOptions() {
var selectDropdownElement = document.getElementById('selectElementId');
for (var i = 0; i<=100; i++){
var options = document.createElement('option');
options.value = i;
options.innerHTML = i;
selectDropdownElement.appendChild(options);
}
}
【讨论】:
你有很多方法,这里列出了一些:Adding options to a select and selecting one on internet explorer
var option = new Option(data[i].name, data[i].id);
由于旧的 IE 不喜欢操纵 select/option,你应该这样做:
var HTMLselect = '<select>';
for (var i = 0; i<=100; i++){
HTMLselect += '<option value="' + i + '">' + i + '</option>';
}
HTMLselect += '</select>';
这样更短、执行速度更快,并且可以防止跨平台问题。
【讨论】: