使用计算器插件/ jquery计算年龄

时间:2010-09-21 19:42:38

标签: jquery ajax

我必须在页面上设置日期(通过输入/选择 - mm / dd / yyy)。 我希望某个只读文本字段在某个选择字段(不同的选择,而不是所设置的日期的一部分)之后显示以月为单位的年龄(根据这两个日期计算)(所选的选择中的任何选项必须触发计算并显示导致只读字段)。 它应该很简单,但不起作用,会感激任何建议。 这就是我到目前为止所做的:



    $(document).ready(
    function (){


    // bind the recalc function to the select field
    $("#certain_select").bind("change", recalc);
    // run calculation 
    recalc();


    }
    );


function recalc(){  

var b_day=parseInt($("#dob_dd").value);
var b_mo=parseInt($("#dob_mm").value);
var b_year=parseInt($("#dob_yy").value);


var visit_day=parseInt($("#visit_dd").value);
var visit_mo=parseInt($("#visit_mm").value);
var visit_year=parseInt($("#visit_yy").value);


var age;
if (visit_year==b_year){
age=(visit_mo-b_mo);
$("#showage").text(age.toString());
}else if(b_year<visit_year){
var age_years=(visit_year-b_year);
var age_months=(visit_mo-b_mo);
age=(12*age_years + age_months);
$("#showage").text(age.toString());
}else{
age=0;
$("#showage").text(age.toString());
}



    }//end of recalc function





2 个答案:

答案 0 :(得分:0)

对于初学者,请将$("#the_id").value的实例切换为$("#the_id").val() - 每个与日期相关的框(6个位置)一个。

其他所有看起来就像它应该有效一样,但是如果不知道“不起作用”是什么意思就很难说。

答案 1 :(得分:0)

HTML很直接。

<select name="visit_mm" id="visit_mm" class="required">
<option value=""> </option>
<option value="">1</option>...
</select>

<select name="visit_dd" id="visit_dd" class="required">
<option value=""> </option>
<option value="1">1</option>
...
<option value="12">12</option>
</select>

<input type="text" name="visit_yy" id="visit_yy" size="4" maxlength="4" value="" class="required">

...同样适用于dob字段,只有不同的ID。

<select name="dob_mm" id="dob_mm" class="required">
<option value=""> </option>
<option value="1">1</option>
...
<option value="12">12</option>
</select>

<select name="dob_dd" id="dob_dd" class="required">
<option value=""> </option>
<option value="1">1</option>
...
<option value="31">31</option>
</select>

<input type="text" name="dob_yy" id="dob_yy" size="4" maxlength="4" value="" class="required">

Readonly字段如下:

<input type="text" readonly class="readonly" name="delayed_start" id="delayed_start" size="4" maxlength="4" value="">

并且有一个选择id =“recommended_visit”

<select name="recommended_visit" id="recommended_visit" class="required">
<option value=""> </option>
</select>

当那些值选择更改时,使用visit和dob字段计算的age应显示在readonly字段中。 确保日期有效(根据某些月份的天数,闰年等等)根本不需要。任何约会都可以。