-1

或者我将如何模仿它?发生的事情是我一堆按钮,其中许多在加载时被禁用,然后根据特定条件切换该属性。我想要做的是提供一个允许隐藏禁用按钮的选项。如果这是真的,一旦一个按钮被禁用,我希望它被隐藏——然后当它被启用时,我希望它是可见的。我该怎么做?

现在我有一个按钮,只需单击即可:

$("button:disabled").toggle();

我在想我可以有一个禁用/启用按钮的功能,并在那里检查一个shouldHideDisabledButtons标志左右是否打开,如果是,隐藏或显示它。不过这似乎太多了,所以我正在寻找是否有更好的方法。

4

2 回答 2

0

创建一个函数来为您处理此问题,并在您想要更改属性时调用它。例如:

HTML 标记:

<button type="button" id="my-button">Go</button>

JavaScript:

<script type="text/javascript">
    var shouldHideButtonsFlag = true;

    function buttonState($button, disabled) {
        $button.prop('disabled', disabled);
        (disabled && shouldHideButtonsFlag) ? $button.hide() : $button.show();
    }

    buttonState($('#my-button'), true);    // Disables and hides button
    buttonState($('#my-button'), false);   // Enables and shows button
</script>

编辑:

  • 根据每个更新请求的用户选择添加了显示或隐藏按钮的标志。
于 2013-11-07T19:26:47.447 回答
0

您可以根据用户是否选择显示或隐藏按钮将类添加到正文

http://jsfiddle.net/3hHrD/

CSS

.hide button[disabled] {
    display: none;
}

JS

$(function(){
function toggle() {
    $(document.body).removeClass("show hide").addClass($("#showHide").val());   
}
$("#showHide").change(toggle);

toggle();
});

HTML

<select id="showHide">
    <option value="show" selected="selected">Show</option>
    <option value="hide">Hide</option>    
</select>
<button disabled>Disabled</button>
<button>Enabled</button>
于 2013-11-07T19:31:16.870 回答