【问题标题】:How to give "multiple" attribute to input file tag in jquery如何在jquery中为输入文件标签赋予“多个”属性
【发布时间】:2018-09-29 06:30:44
【问题描述】:

由于我是通过 Django 表单带来 HTML 标签的,所以无法直接访问标签,所以我想通过 jQuery 添加一些属性。

这里是输入标签

<input id="id_photo" name="photo" type="file">

我想在输入标签中添加multiple 属性。所以我做到了,

$('#id_photo').attr('multiple');

但它不起作用,我该怎么办?

【问题讨论】:

  • 使用 jQuery 不是正确的做法。为什么不能“直接访问标签”?您应该能够在 Django 表单字段定义中设置小部件的属性。
  • @Daniel 但是 Django 表单字段不支持 multiple 属性。不是吗?

标签: jquery django


【解决方案1】:

你必须使用setAttr

例如

$('#id_photo').setAttr('multiple', true);

但是,如果您通过 django 表单创建此输入,您可以像这样在 forms.py 文件中定义属性

photo = forms.FileField(widget=widgets.FileInput(attrs={
    'multiple': True,
}))

【讨论】:

  • 你从setAttr那里得到这个方法的?这不是一个有效的 jQuery 方法。
【解决方案2】:

看文档,需要给attr传一个值来设置,否则就是得到了。我也推荐使用prop

$('#id_photo').attr('multiple', true);
// or this
$('#id_photo').prop('multiple', true);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<input id="id_photo" name="photo" type="file">

【讨论】:

    猜你喜欢
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 2015-02-21
    • 2015-06-10
    相关资源
    最近更新 更多