昨天我学会了如何使用javascript动态创建一个选择选项:
<select name="dateformat" onchange="change_date();" id="dateformat">
</select>
var dateformat = document.getElementById('dateformat');
dateformat.options[dateformat.options.length] = new Option(month + "/" + day + "/" + fullyear, "M/d/yyyy");
dateformat.options[dateformat.options.length] = new Option(monthwz + "/" + daywz + "/" + fullyear,"MM/dd/yyyy");
dateformat.options[dateformat.options.length] = new Option(day + "/" + month + "/" + fullyear,"d/M/yyyy");
我不知道这是否是唯一的方法,并且javascript代码不能包含在代码块中,但我不知道如何选择合适的选项。从php我查询用户的设置,例如MM / dd / yyyy所以我需要在页面加载时选择第二个选项。
我可以通过静态选择选项来做到这一点,例如
<option value="Business" <?php if($category == 'Business'): ?> selected="selected"<?php endif; ?> >Business</option>
但在这种情况下,动态创建选择选项。
答案 0 :(得分:0)
您可以将代码重写为更优雅:
var dateformat = document.getElementById("dateformat"),
options = [{
text: month + "/" + day + "/" + fullyear,
value: "M/d/yyyy"
}, {
text: monthwz + "/" + daywz + "/" + fullyear,
value: "MM/dd/yyyy"
}, {
text: day + "/" + month + "/" + fullyear,
value: "d/M/yyyy"
}];
for (var i = 0, len = options.length; i < len; i++) {
var option = options[i],
element = new Option(option.text, option.value);
dateformat.options[dateformat.options.length] = element;
}
// one way to set the selected value:
dateformat.value = <?php print json_encode($value); ?>;