基于select的JQuery启用按钮

时间:2009-10-06 17:04:26

标签: jquery select button

我有一个页面,其中包含用于标识文本文件中列的select的集合。每次用户识别列时,所选选项将从页面上的其他选项中删除。当用户识别出所有列时,需要激活“提交”输入,以便用户可以进入下一步。我需要一种切割方式来确定何时选择了所有列。

<script type="text/javascript" src="https://www.repfolio.com/Scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="https://www.repfolio.com/Scripts/jquery.selectboxes.min.js"></script>
<script type="text/javascript">
    $(document).ready(
        function() {
            $('.ct').bind('change', function() { updateControls(this); });
        }
    );
    function updateControls(c) {
        $('.ct').unbind();
        if ($(c).val() == 'Reset') {
            var opt = $(c).find("option[value!='Reset']");
            // if there are selects with value = '' then add this option back to them -- need to address this select too
            if ($(".ct").filter("[value='']").size() > 0) {
                $(".ct").filter("[value='']").each(function() {
                    $(this).append($("<option></option>").attr("value", $(opt).val()).text($(opt).text()));
                });
                var options = $(".ct").filter("[value='']:first").children().clone();
                $(c).find('option').remove();
                $(c).append($(options));
            } else {
                $(c).find('option').remove();
                $(c).append($("<option></option>").attr("value", "").text("-- Select Column -"));
                $(c).append($("<option></option>").attr("value", $(opt).val()).text($(opt).text()));
            };
        } else {
            var s = $(c).children().filter('option[selected=true]');
            $(c).find('option').remove();
            $(".ct option[value='" + $(s).val() + "']").each(function() { $(this).remove(); });
            $(c).append($("<option></option>").attr("value", $($(s)).val()).text($(s).text()));
            $(c).append($("<option></option>").attr("value", "Reset").text("Reset"));
        }
        $(".ct").filter("[value='']").sortOptions()
        $('.ct').bind('change', function() { updateControls(this); });
        if ($('select.ct option:nth-child(3)').length)
            $('#submit').attr('disabled', 'enabled');
    };
</script>

这是启用按钮的部分:

if ($('select.ct option:nth-child(3)').length)
            $('#submit').attr('disabled', 'enabled');

1 个答案:

答案 0 :(得分:0)

$('#submit').attr('disabled', 'enabled');

禁用属性只能在“禁用”时设置。如果你想启用一个按钮,你只需设置一个空字符串,如下所示:

$('#submit').attr('disabled', ''); 

但在这种情况下,我建议您使用“.prop”:

$('#submit').prop('disabled', false);

你可以在jQuery.api中阅读更多关于“.prop”和“.attr”之间的区别