2010-09-21 53 views
0

我必須在頁面上設置日期(通過輸入/選擇 - mm/dd/yyy)。 我希望某個只讀文本字段在某個選擇字段(不同選擇,不是日期集合的一部分)後發生了幾個月(以這兩個日期爲基礎計算)的年齡(選定的選項中的任何選項必須觸發計算並且在只讀字段中顯示結果)。 它應該很簡單,但不起作用,將不勝感激任何建議。 這是我到目前爲止有:使用計算器插件計算年齡/ jquery

 


    $(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 





+0

HTML在哪裏? – Dutchie432 2010-09-21 19:52:42

回答

0

對於初學者來說,切換的$("#the_id").value$("#the_id").val()您的實例 - 每個你的日期相關的箱(6位)。

其他一切看起來喜歡它應該工作,但很難說如果沒有你的意思是「不工作」的意思。

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"> 

只讀字段是這樣的:

 
<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> 

當多數民衆贊成在價值選擇的變化,年齡,使用訪問計算dob字段應顯示在只讀字段中。 確保日期有效(基於特定月份中的多少天,閏年等等)並不是必需的。任何日期都可以。

+0

通過不工作我的意思是,當我從「recommended_visit」選擇字段中選擇任何內容時,readonly字段中沒有顯示任何內容。 – 2010-09-21 20:24:11

+0

好吧,我想通了,我用了text(),它不適用於輸入字段。切換到val(),現在一切正常。 – 2010-09-21 22:26:23