0

我有一个以这种方式定义的范围输入:

@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)

根据 DropDown 选择,我想启用/禁用范围输入。这是我的做法:

<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>

disabled 属性确实发生了变化,但是在我单击它之前不会刷新控件。我试过打电话change(),不同的刷新等,但没有运气。

如何启用/禁用它?

4

1 回答 1

2

不知道为什么它不起作用,但是

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

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

做了这项工作。

于 2013-09-03T08:47:09.960 回答