【问题标题】:jQuery Find and Assign Index [duplicate]jQuery查找和分配索引[重复]
【发布时间】:2015-03-06 05:27:05
【问题描述】:

我有一个用户可以上传图片的应用程序。我不喜欢默认的输入文件设计,所以我改变了它。我现在正在处理两个输入,一个实际上使用 type=file 选择文件,另一个输入从 type=file 获取值并将其放入 type=text。如果我只想上传一张图片,这很好,但不行。用户可以添加更多图像,单击链接会出现更多文件输入。这就是我遇到麻烦的地方。我正在尝试获取正在选择的输入的当前索引并将其分配给其姊妹输入,它适用于第一个输入,但在那之后,它停止工作。不知道我做错了什么。请参阅以下链接以获取实时示例: http://jsfiddle.net/w6gmq2x5/

  // listens for a change in the value of a input[type=file]
  $('input[name^=filPostImg]').change(function() {
    // finds sister input[type=text] by matching index, and assigns value of input[type=file]
    $('input[name^=filPostPath]').eq($(this).index($(this))).val($(this).val());
  });

编辑:这个问题与动态添加输入无关。这是关于查找索引键并将值分配给兄弟元素。

【问题讨论】:

  • 为什么不使用“multiple”让用户一次选择和上传多个文件?您实际上正在构建一些非常过时的东西,一个漫长的上传过程,迫使用户手动选择一个文件,然后手动添加另一个文件选择器,然后手动选择第二个文件,依此类推。有人会说这是“2003 年”。首先考虑用户体验。
  • 这是一个很好的观点。很久没玩这个游戏了,谢谢更新。

标签: jquery


【解决方案1】:

您要查找的元素是下一个兄弟元素,所以

$(document).on('change','input[name="filPostImg[]"]',function() {
    $(this).next('input[name="filPostPath[]"]').val($(this).val());
});

演示:Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多