jquery:如何获得发出按钮点击的标签?

时间:2017-05-16 21:49:57

标签: javascript jquery

我有很多标签和1个输入文件。

<label for="uploadFile" data-albumid="1">upload Here</label>
<label for="uploadFile" data-albumid="2">upload Here</label>
<label for="uploadFile" data-albumid="3">upload Here</label>
<input id="uploadFile" type="file" style="display:hidden">
$('#uploadFile').on('change', function(e) {
// how to get the albumid data here ?
});

1 个答案:

答案 0 :(得分:0)

在标签上放置一个点击处理程序,并让它使用input将选项与.data()元素相关联。

var albumId;
$('label').click(function() {
  albumId = $(this).data("albumid");
  $('#' + this.htmlFor).data('albumid', albumId);
});

$('#uploadFile').on('change', function(e) {
  alert("Changing album " + $(this).data('albumid'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label for="uploadFile" data-albumid="1">upload #1</label><br>
<label for="uploadFile" data-albumid="2">upload #2</label><br>
<label for="uploadFile" data-albumid="3">upload #3</label>
<input id="uploadFile" type="file" style="display: none;">