2013-06-21 19 views
0

我有一個HTML片段如下在彈出按鈕添加選件通過JavaScript

 <select id="fiscalFlyout" data-win-control="WinJS.UI.Flyout"> 
     <optgroup label="Fiscal Year"> 
      <option>2013</option> 
      <option>2014</option> 
      <option>2015</option>     
     </optgroup> 
    </select> 

目前,我加入年通過HTML。但我想通過javascript添加它們。所以在未來一年的變化中,我不需要打開我的代碼並改變它。

+1

這不是一個很大的痛苦! 當你考慮日,年,月時,硬編碼並不是一個壞的選擇。因爲它們是固定的。 需要大約5分鐘才能達到2200年和80年以上達到那個日期。所以,你確定你想添加一些JavaScript的嗎? –

+0

這就是你需要的! http://www.javascriptkit.com/script/script2/curdateform2.shtml –

回答

0
Try something like below: 

function addOption() 
{ 
var x=document.getElementById("fiscalFlyout"); 
var option=document.createElement("option"); 
option.text="your option"; 
try 
    { 
    // for IE earlier than version 8 
    x.add(option,x.options[null]); 
    } 
catch (e) 
    { 
    x.add(option,null); 
    } 
} 
</script> 


HTML: 

<button type="button" onclick="addOption()">Insert option</button> 
0
$(document).ready(function() { 
    var d = new Date(); 
    var n = d.getFullYear(); 
    $('.fiscalFlyout'); 

    var exists = 0 != $('#fiscalFlyout option[value=' + n + ']').length; 
    if (!exists) { 
     $('#fiscalFlyout').append($('<option></option>').val(n).html(n)); 
    } 
}); 
0

建議使用內置WinJS.UI.DatePicker控制。可以使用文檔中提到的css類來設置控件的樣式。 current屬性可以使用onchange事件來獲取選定的日期。

<div data-win-control="WinJS.UI.Flyout" id="flyout"> 
    <div data-win-control="WinJS.UI.DatePicker"> 
    </div> 
</div> 

如果您只想顯示年份,css會隱藏控件的月份和日期部分。

.win-datepicker-date, .win-datepicker-month 
{ 
    display: none; 
} 
相關問題