【问题标题】:Toggle a button to be viewed after a checkbox has been checked, and disappear if unchecked选中复选框后切换要查看的按钮,如果未选中则消失
【发布时间】:2013-02-14 21:58:42
【问题描述】:

下面是我使用 PHP 构建的特定应用程序的代码。我的工作是用户界面,我一直在寻找有关如何使其工作的代码。

使用此表单,它使用最新更新的 Jquery UI 来样式化按钮和复选框。我需要在选中复选框时显示按钮,并在未选中时消失。

找不到任何适用于此的代码,这让我快疯了,落后于我。

<form name="purpose" method="post" action="" >
    <div id="radiosetPURPOSE">
        <input type="checkbox" id="radio1" name="homework" value="homework" ><label for="radio1" style="font-size: 13pt; width: 130px; height: 40px;">Homework</label>
        <input type="checkbox" id="radio2" name="computer" value="computer" ><label for="radio2" style="font-size: 13pt; width: 130px; height: 40px;">Computer</label>
    </div>
    <br />
    <div id="radiosetPURPOSE2">
        <input type="checkbox" id="radio3" name="books" value="books" ><label for="radio3" style="font-size: 13pt; width: 130px; height: 40px;">Books</label>
        <input type="checkbox" id="radio4" name="reading" value="reading" ><label for="radio4" style="font-size: 13pt; width: 130px; height: 40px;">Reading</label>                     
    </div>
    <br />
        <div id="radiosetPURPOSE3">
        <input type="checkbox" id="radio5" name="tutoring" value="tutoring" ><label for="radio5" style="font-size: 13pt; width: 130px; height: 40px;">Tutoring</label>                     
    </div>
    <br  /><br  /><br  /><br  />
        <div id="btnCheckin" style="display:none">   
        <button id="btnCheckinBtn" style="font-size: 18pt; width: 175px; height: 75px;">Check In</button>
    </div>
</form>

【问题讨论】:

  • 将该样式从标记中取出,添加一个类并使用 CSS。
  • 这是我注意到的风格的小提琴:jsfiddle.net/GGdtw/1

标签: javascript jquery jquery-ui button checkbox


【解决方案1】:

如果我正确阅读了您的要求,您需要检查是否选中了任何复选框以显示按钮,如果未选中所有复选框,请将其隐藏?

这可能发生在单击或键盘操作上,因此您需要检查更改事件。将其包装在文档就绪处理程序中,包括 jQuery,然后您就可以设置了。

$('input:checkbox').change(function () {
    if ($('input[type=checkbox]:checked').length > 0) {
        $('#btnCheckin').show();
    } else {
        $('#btnCheckin').hide();
    }
});

这里有一个你的标记:http://jsfiddle.net/GGdtw/

【讨论】:

  • 太棒了!这实际上奏效了。非常感谢,感谢您的帮助。
【解决方案2】:

似乎我误读了您的问题,并且您希望在选中任何复选框时启用按钮

这将查看是否在form 名称为purpose 内勾选了任何 个复选框。

$("input:checkbox").change(function() {    
  $("#btnCheckin").toggle(!!$('form[name="purpose"] > input:checkbox:checked').length))
});

【讨论】:

  • 比我的干净得多,我知道的越多:)
  • 我在 OP 的标记中没有看到 ID 为“复选框”的复选框。也不能与多个复选框一起使用切换。
  • 进行了更改。按预期执行。
【解决方案3】:

你也可以使用 jQuery '.toggle()':

http://api.jquery.com/toggle/

【讨论】:

    【解决方案4】:

    当您单击复选框时,检查它是选中还是未选中,并基于此启用或禁用按钮。 (使用 jQuery)

    <script>
        $(document).ready(function() {
    
            $("#checkbox").click(function() {
                if (("#checkbox").is(":checked")) {
                    //button show (.show())
                else {
                    //disable the button (.hide())
                }
            });
        });
    </script>
    

    另外,去掉按钮样式中的"display: none;"

    小提琴:http://jsfiddle.net/mbYby/

    【讨论】:

    • 好的,那么我将如何将 Jquery 代码集成到我的应用程序中。我用过的任何 javascript 都不起作用,尤其是类似于你上面的代码
    • 我在上面进行了编辑,将
    • 我在他的标记中看到没有具有该 ID 的复选框,并且单击在此处无法使用多个复选框。
    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2021-11-22
    • 2015-09-22
    相关资源
    最近更新 更多