启用/禁用范围输入

Enable/disable range input

本文关键字:范围 输入 启用      更新时间:2023-09-26

我有一个范围输入,它是这样定义的:

@Html.LabelFor(m => Model.Quality, Resources.CompressionQuality)
<input type="range" name="Quality" id="Quality" data-mini="true" min="0" max="100" value="@Model.Quality">

和下拉菜单:

@Html.LabelFor(m => Model.TiffCompression, Resources.TiffCompression)
@Html.DropDownListFor(m => Model.TiffCompression, tiffCompressions, Html.DataMiniAttribute())
@Html.ValidationMessageFor(m => Model.TiffCompression)

根据下拉选择,我希望启用/禁用范围输入。以下是我的操作方法:

<script type="text/javascript">
    $(document).ready(function () {
        function ToggleSection() {
            var selectedVal = $('#TiffCompression').find('option:selected').val();
            $('#Quality').prop('disabled', true);
            switch (selectedVal) {
                case "JPEG":
                    $('#Quality').prop('disabled', false);
                    break;
            }
        }
        ToggleSection();
        $('#TiffCompression').change(function () { ToggleSection(); });
    });
</script>

禁用的属性确实被更改了,但直到我点击它,控件才会刷新。我试过对它调用change()、不同的刷新等,但没有成功。

如何启用/禁用它?

不确定为什么它不起作用,但

$('#Quality').slider('disable');

$('#Quality').slider("enable");

完成了任务。