1

我想创建一个上传表单,它在填写时总是显示一个新的文件输入。我试图通过创建新的输入来完成这项工作,但它只能工作一次。

这是代码:

<head><script type="text/javascript" src="jquery-1.7.2.min.js"></script></head>
<body><form>
  <div id="to"></div>
  ---
  <div id="from"><input type="file" class="new"></div>
</form>
<script type="text/javascript">
  $('.new').change(function() {
    $('.new').appendTo('#to').removeClass('new');
    $('#from').append('<input type="file" class="new">');
  });
</script>
</body>
4

4 回答 4

1
<script type="text/javascript">
  $('.new').on('change',function() {
    $('.new').appendTo('#to').removeClass('new');
    $('#from').append('<input type="file" class="new">');
  });
</script>

利用on

于 2012-05-08T06:37:21.187 回答
1
<script type="text/javascript">
  $('.new').live('change',function() {
    $('.new').appendTo('#to').removeClass('new');
    $('#from').append('<input type="file" class="new">');
  });
</script>
于 2012-05-08T06:37:50.007 回答
0

试试这个http://jsfiddle.net/UxyMw/3/

于 2012-05-08T06:43:26.493 回答
0

HIya 2为您工作的演示:http : //jsfiddle.net/UxyMw/http://jsfiddle.net/UxyMw/1/

两者都可以正常工作:

代码:

$('.new').on("change",function() {
    $('.new').appendTo('#to').removeClass('new');
    $('#from').append('<input type="file" class="new">');
  });​
于 2012-05-08T06:39:11.610 回答