2014-01-16 44 views
0

我有一個選擇框,如下所示。下面的代碼只是我整個頁面的一部分。它看起來像在圖像Please find the drop down Day field從按鍵上的下拉列表中選擇值

現在我想要它,當用戶鍵入8從鍵盤,8被選中。如果用戶輸入9,則選擇9等。如何執行此操作?

js小提琴鏈接在http://jsfiddle.net/gQ5zV/如果可能的話,它需要跨瀏覽器與IE 7兼容。

<div class="form-group col-sm-12"> 
     <label for="custom3" class="col-sm-12 control-label myDate">Date marked on your receipt (dd/mm/yyyy)*</label> 
     <div class="col-sm-4"> 
        <select class="form-control" name="custom3" id="custom3"> 

      <option value="">Day</option> 
      <option value="08">08</option> 
      <option value="09">09</option> 
      <option value="10">10</option> 
      <option value="11">11</option> 
      <option value="12">12</option> 
      <option value="13">13</option> 
      <option value="14">14</option> 
      <option value="15">15</option> 
      <option value="16">16</option> 
      <option value="17">17</option> 
      <option value="18">18</option> 
      <option value="19">19</option> 
      <option value="20">20</option> 
      <option value="21">21</option> 
      <option value="22">22</option> 
      <option value="23">23</option> 
      <option value="24">24</option> 
      <option value="25">25</option> 
      <option value="26">26</option> 
      <option value="27">27</option> 
      <option value="28">28</option> 
      </select>  </div> 
     <div class="col-sm-4"> 
      <select class="form-control" name="custom4" id="custom4"> 
      <option value="1">January</option> 
      </select> 
     </div> 
     <div class="col-sm-4"> 
      <select class="form-control" name="custom5" id="custom5"> 
      <option value="2014">2014</option> 
      </select> 
     </div> 
     <div class="errorDate col-sm-12"></div> 
     </div></div> 
+0

您不能使用? –

+0

那麼解決了8和9 .. 10-30如何? –

回答

1

JS過於複雜。

變化<option value="08">08</option><option value="09">09</option>

<option value="08">8</option><option value="09">9</option>

小提琴 http://jsfiddle.net/Z5DDW/

爲15,用戶點擊自己的鍵盤1 + 5。在Windows上使用最新版本的Chrome,FF和IE9進行此操作。

+0

Does not似乎爲我工作? –

+0

@Himu 8和9按鍵不起作用,或者數字'1'跟在數字'5'後面15? –

+0

數字'1'後跟數字'5'爲15不起作用。使用最新的Firefox/Chrome等 –

1

爲什麼當你點擊8或9的下拉是不會改變的原因,是因爲你收到零。如果你有8或9的價值,它會工作。

使用jQuery,您可以觸發一個按鍵事件並根據他們所按的鍵更改值。

$('.form-control').on('keypress', function(e){ 
    var code = e.keyCode || e.which; 

    // the keycode for the number 8 is 56 
    if (code == 56){ 
     $(this).val('08') 
    } 

}); 
+0

數字10-28的代碼是什麼?我找不到......? –

+1

當你在尋找多個鍵時,它變得更加困難。因爲你必須尋找1後跟0的按鍵。前面的例子顯示了許多用於1 + 0按鍵的瀏覽器的本地功能是絕對有效的。如果你想使用jQuery,那麼你將不得不記錄按鍵。 – SkyOut

+0

嗯,以便javacript解決方案不會爲我的問題工作 –