javascript - 显示数据文件属性中的复选框值

标签 javascript jquery checkbox dataset custom-data-attribute

我正在执行下载选择多个文件的功能。我有一个关于如何将我选择的复选框中的值放入数据文件属性的问题。目前我只能将输入框中的值放入复选框中。

下面是我的编码:

$('#multiselect-drop input').change(function() {
  var s = $('#multiselect-drop input:checked').map(function() {
    return this.value;
  }).get().join(' ');
  $('#results').val((s.length > 0 ? s : ""));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" id="results" style="width:60%;">

<div id="multiselect-drop">
  <input type="checkbox" value="file/john.jpeg">
  <input type="checkbox" value="file/important.pdf">
  <input type="checkbox" value="file/company.pdf">
</div>

<button id="download-button" class="btn btn-primary btn-xs" data-files="">Download</button>

输出结果如下所示,它将跟随我的勾选来选择输入中的值。

output1

实际上,我希望结果是我选择放入数据文件属性的复选框中的值。如下示例结果:

<button id="download-button" class="btn btn-primary btn-xs" data-files="file/john.jpeg file/important.pdf file/company.pdf">Download</button>

希望有人能指导我如何解决这个问题。谢谢。

最佳答案

首先你应该使用 attr() jQuery 方法,尝试将其设置为属性:

$('#download-button').attr('data-files', (s.length > 0 ? s : ""));

然后变成:

$('#multiselect-drop input').change(function() {
  var s = $('#multiselect-drop input:checked').map(function() {
    return this.value;
  }).get().join(' ');
  $('#results').val((s.length > 0 ? s : ""));
  $('#download-button').attr('data-files', (s.length > 0 ? s : ""));                               
});

关于javascript - 显示数据文件属性中的复选框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69565346/

相关文章:

javascript - 如何在 Angular 中为 ngx-datatable-column 传递多个管道?

jquery - 如何使用 css 或 jQuery 编辑焦点上的伪元素

javascript - 如何制作具有延迟和缓动效果的div

Excel vba 重命名复选框

javascript - iCheck 复选框未在 angularjs 中显示

javascript - 如何在 textarea 字段上附加两个类?

javascript - 为什么 JavaScript 不允许您直接对数字调用方法?

jquery - 如何使 jquery json 结果的结果使元素可见

javascript - 如何使用模运算删除 ng-repeat 生成的未定义复选框?

javascript - 如何在 flex display 中将元素放在彼此下面?