首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对另一个select进行复杂的select更改..以前没有问过

对另一个select进行复杂的select更改..以前没有问过
EN

Stack Overflow用户
提问于 2012-04-13 07:59:52
回答 2查看 191关注 0票数 0

我的问题解释起来相当简单,但实现起来却有点棘手。从逻辑上讲,这似乎很有可能,但我有点卡住了。

目标/目的:我的第一个选择名为"hour“,第二个选择名为"rec_hour”。每一个都有相同的值。请参阅下面的HTML代码:

代码语言:javascript
复制
<select id="hour">
  <option value="0">00</option>
  <option value="1">01</option>
  <option value="2">02</option>
  <!-- This would go up to 23 -->
</select>

<select id="rec_hour">
   <option value="0">00</option>
   <option value="1">01</option>
   <option value="2">02</option>
 <!-- This would go up to 23 -->
</select>

我从PHP文件"$hours“中收到一个变量,其中包含一个从0到24的整数值。现在,我想得到小时的值,假设这个场景的值是6,然后在第二个选择(rec_hour)中减去这个值。

因此,本质上,如果我返回的变量是6,并且我从第一个select (小时)中选择了10,那么我希望第二个select显示/选择的值是10-6,即4。

我希望这是有意义的..

我在绝望中尝试了以下脚本,但无济于事:

代码语言:javascript
复制
    $(document).ready(function() {

    $("#hour").change(function() {
        var myHour = $(this).val();
        var Subtra = 10;
        var recHour = myHour - Subtra;

       $("#rec_hour").val = recHour;
       $("#rec_hour").text(recHour); 
     }
  });

});

我上面的代码使用"Subtra“作为litmus测试值。这实际上会根据我的php结果而改变。

更新:

我真正想做的就是..

我收到一个时间(只有几个小时),假设2 ->指的是凌晨2点(14点就是下午2点)n,然后我的php会计算出小时数,以确定一次旅行需要多长时间。例如,假设是6个小时..然后我想向用户展示从2am..which晚6个小时是晚上8点。也就是说,你应该在晚上8点离开家。你明白了吗?还是我让人困惑了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-13 08:03:16

使用.val()设置rec_hour的值。另请注意,您的代码中有一些语法错误。你多了一个花括号。您还需要使用abs value函数处理subtra > myHour的情况。

已更正的代码:

代码语言:javascript
复制
$(document).ready(function() {

    $("#hour").change(function() {
        var myHour = $(this).val();
        var Subtra = 4;
        var recHour = Math.abs(Subtra - myHour);
       $("#rec_hour").val(recHour);
     });
});

原始版本,但有错误注释:

代码语言:javascript
复制
    $(document).ready(function() {

    $("#hour").change(function() {
        var myHour = $(this).val();
        var Subtra = 10;
        var recHour = myHour - Subtra;  //handle Subtra > myHour with abs()

       $("#rec_hour").val = recHour;
       $("#rec_hour").text(recHour); 
     } //This curly brace is not needed
  });

});

演示:http://jsfiddle.net/FdW4w/3/

我给出了一些更具描述性的变量名称,并应用了数学方法。小提琴也会更新以反映这一点。

代码语言:javascript
复制
  $(document).ready(function() {

    $("#arrival").change(function() {
        var arrivalTime = $(this).val();
       $("#depart").val(getDepartTime(10, arrivalTime));
     });
});

      function getDepartTime(journeyDuration, arrivalTime){
          var departTime = 0;
          if(journeyDuration > arrivalTime){
             departTime = 24 - (Math.abs(journeyDuration - arrivalTime));             
          }else{
             departTime = arrivalTime -journeyDuration;
          }
          return departTime;
      }
票数 1
EN

Stack Overflow用户

发布于 2012-04-13 08:02:23

这应该是可行的:

代码语言:javascript
复制
$("#rec_hour").val(recHour); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10133513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档