选择不更新

时间:2015-12-04 22:32:03

标签: jquery select input

当我更改选择选项时,它不会更新该值。框内的内容数量必须根据选择选项进行更改,但不起作用。 提前致谢。 FIDDLE



$(function() {
  var all = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\-=_!#%&'*{},.\/:?\(\)\[\]@\\$\^*+<>~";
  var myLength = $("#mySelect option:selected").val();

  function randomAll() {
    for (var i = 0; i < myLength; i++) {
      var word = all[Math.floor(Math.random() * all.length)];
      $('#content').append(word + i++);
    }
  }

  $('#all').click(function() {
    $('#content').html('');
    randomAll();
  });

});
&#13;
#content {
  width: 200px;
  height: 50px;
  border: 1px solid #333;
  margin-top: 50px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="all">All</button>
<div id="content"></div>
<select id="mySelect">
  <option value="4" selected="selected">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
</select>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:1)

在函数

中获取选定的值
 function randomAll() {
        var myLength = $("#mySelect option:selected").val();
        for (var i = 0; i < myLength; i++) {
          var word = all[Math.floor(Math.random() * all.length)];
          $('#content').append(word + i++);
        }
      }

Demo

答案 1 :(得分:0)

您需要绑定到其change事件

$('#mySelect').change(function(){
  $('#content').val($(this).val());
});

这会将其设置为更改时选择的选项的值。