0

我在javascript中遇到问题。我有两个选择框,一个用于小时,一个用于分钟。当用户选择时间时,应自动设置 AM/PM。

谁能帮我???我试过这段代码:

代码:

<select class="cust_ddd3" id="phr" onchange="hors(this.value)">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
</select>

<select class="cust_ddd2" id="pmns" onchange="mns(this.value);">
    <option value="00">00</option>
    <option value="05">05</option>
    <option value="10">10</option>
    <option value="15">15</option>
    <option value="20">20</option>
    <option value="25">25</option>
    <option value="30">30</option>
    <option value="35">35</option>
    <option value="40">40</option>
    <option value="45">45</option>
    <option value="50">50</option>
    <option value="55">55</option>
</select>

Pickup Time: <span id="hrs">08</span>:<span id="mns">00</span><span id="ap">AM</span>

Javascript

<script type="text/javascript">
function hors(str)
{
  document.getElementById('hrs').innerHTML=+str;
}

function mns(str)
{
  alert(str);
  if(document.getElementById('phr').value<=11)
  {
    var pm="AM";
    document.getElementById('ap').innerHTML=pm;
  }
  else
  {
    var am="PM";
    document.getElementById('ap').innerHTML=am;
  }
  document.getElementById('mns').innerHTML=+str;
}
</script>
4

2 回答 2

0

当您将分钟转换为数字时

document.getElementById('mns').innerHTML=+str;

第一个零被丢弃(正常数字没有前导零)。

于 2012-06-30T06:00:36.497 回答
0

错误在这里 document.getElementById('mns').innerHTML=+str;。您正在使用 +=,而您应该使用 += 或 =:

document.getElementById('mns').innerHTML = str;

=+ 将字符串转换为数字(因此忽略左侧的零),然后将结果添加到原始值

于 2012-06-30T06:02:45.977 回答