从按键下拉列表中选择值

时间:2014-01-16 22:31:55

标签: javascript jquery html

我有一个选择框,如下所示。下面的代码只是我整个页面的一部分。它看起来像图像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>

2 个答案:

答案 0 :(得分: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')
   }

});

答案 1 :(得分: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。使用最新版本的Chrome,FF和IE9在Windows上执行此操作。