0

嗨,我正在我的页面上实现一个带有文件上传框的表单。我决定使用 jQuery Filer 插件,它工作得很好。我希望能够基于单选按钮禁用或启用文件上传器,但不知道如何禁用插件的功能。

任何帮助都会很棒。

不确定要包含哪些代码,文件上传器本身会通过输入调用:

<input type="file" name="files[]" id="file_uploader" disabled="true" multiple="multiple">

我正在尝试但不起作用的 js 是:

$('#file_uploader).disabled = 'disabled';

但它不起作用......想法?


还是行不通!

这是我现在拥有的代码:

function enable_img(status){
    if (status=='true'){
            $("#img_desc").prop('disabled', false);
            $("#img_desc").attr("placeholder", "Add a description for image(s)");
            $("#img_file").prop("disabled", false);
    } else {
            $("#img_desc").prop("disabled", true);
            $("#img_desc").attr("placeholder", "");
            $("#img_desc").val("");
            $("#img_file").prop("disabled", true);

    }*/
}

和html部分:

<div class="form-group">
    <label for="img_req" class="col-md-3 control-label">Do you want to add an image??</label>
    <div class="col-md-8">
        <div class="btn-group" data-toggle="buttons" id="img_req">
            <label class="btn btn-primary">
                <input type="radio" name="options" id="img_yes" autocomplete="off" onchange="enable_img('true');"> Yes
            </label>
            <label class="btn btn-primary active">
                <input type="radio" name="options" id="img_no" autocomplete="off"  onchange="enable_img('false')" checked> No
            </label>
        </div>
        <br></br>
        <textarea class="form-control" rows="3" id="img_desc" placeholder="" disabled="true"></textarea>
    </div>
    <label for="img_file" class="col-md-3 control-label">Image File(s)</label>
    <div class="col-md-8">
        </br>
        <div class="input-group">
            <input type="file" name="files[]" id="img_file" disabled="true" multiple="multiple">
        </div>
    </div>
</div>

#img_desc 更改正常,并按预期变为禁用和启用,但 #img_file 没有任何反应。任何帮助都会很棒!

4

1 回答 1

0
  1. 您应该prop在要禁用的元素上使用该功能。
  2. 我猜您希望在选中/取消选中复选框时发生这种情况,因此我还为此添加了一个示例。

$('#chk1').on('change', function() {
   $('#file_uploader').prop('disabled', !$(this).is(':checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" id="chk1" /> enable/disable<br />

<input type="file" name="files[]" id="file_uploader" disabled="true" multiple="multiple">

于 2016-11-30T22:11:59.930 回答