html-select <option selected=""> doesn't
html-select <option selected=""> doesn't work
我有3个html的<select>
年,月,日。年份和月份均自动设置为当前年份和当前月份。我完全是在PHP中做的。然而,这是由Javascript触发的一天似乎不工作,即使我已经做了
if (j == <?php echo date('d') ?>) days_select.options[days_select.options.length] = new Option(j, j, true);
默认的日期仍然是1,而不是当前日期。更令人沮丧的是,当我在firebug上查看时,选择的日期是当前日期…我在编程方面完全是个新手,这就是为什么像这样简单的事情对我来说有点难以掌握。请帮助…
date_select.php
<body onload="loadDays();">
<script type="text/javascript" >
function loadDays() {
var year = parseInt(document.getElementById('years').value);
var month = document.getElementById('months').value;
var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var days = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if ((year % 4) == 0) days[1] = 29;
var days_select = document.getElementById('days');
days_select.options.length = 0;
for(i in months) {
if (month == months[i]) {
for(var j = 1; j <= days[i]; j++ ) {
if (j == <?php echo date('d') ?>) days_select.options[days_select.options.length] = new Option(j, j, true);
else days_select.options[days_select.options.length] = new Option(j, j);
}
break;
}
}
}
</script>
<span style="display: table; ">
<span style="display: table-cell; ">
<select id="years" onchange="loadDays();">
<?php
for($year = 1900; $year <= 2100; $year++ ) {
if ($year == date('Y')) echo "<option value='$year' selected=''>" . $year . "</option>";
else echo "<option value='$year'>" . $year . "</option>";
}
?>
</select>
</span>
<span style="display: table-cell; ">
<select id="months" onchange="loadDays();">
<?php
$months = array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" );
foreach($months as $month){
if ($month == date('M')) echo "<option value='$month' selected=''> " . $month . "</option>";
else echo "<option value='$month'> " . $month . "</option>";
}
?>
</select>
</span>
<span style="display: table-cell; ">
<select id="days" >
</select>
</span>
</span>
</body>
我把这个作为一个单独的答案,因为它是一个。
Option()
的第三个参数是该选项是否默认被选中,就像在HTML中指定一样。第四个问题是它现在是否真的被选中了。在你的Option()
调用中添加另一个true
,它在测试中对我有效。
new Option(j, j, true, true)
我认为这可能是因为<?php echo date('d') ?>
产生带前导零的字符串"04"
。您的j
循环计数器是一个整数,永远不会匹配PHP输出的字符串。
尝试将其包装在Javascript的parseInt()
函数中,或者使用date('j')
来代替前导零。
if (j == parseInt(<?php echo date('d') ?>))
更好的是,使用Javascript自己的Date对象来获取当前日期。
var theDateObj = new Date();
var today = theDateObj.getDate(); // Will output int 4 for today.
相关文章:
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 在<script src=“"></脚本>标签
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- JSP<a href="">无法保存常规语句
- 在MySQL中存储映像路径与使用<img src=“"onError=“">
- $_POST值在<形式动作=“;javascript:someJSFunction()"/>
- 类似于htmls<script src=“">xaml的标签
- 为什么<车身负载=“;fn()">使用函数调用,但是window.onload=fn;使用处理程序函
- 更改URL而不使用<a href="">
- 为什么可以't我将JS代码置于<script src=“">代码</脚本>
- 如何将鼠标悬停在<img src=“">标签
- 如何设置<一个标题=“">用于erb
- 将用户输入动态地附加到<script src=“">来自Java Script中的文本框
- <a href="#">最终调用Javascript函数
- <a href="javascript:foo(this)">通过Window,我想要标记
- 使用<重置所有字段(复选框、文本、选择);body onload()">
- 如何从<a href="">到javascript函数
- IE总是在<a href="#"/>被单击
- JS:有一个新的运算符"=>&”;