【问题标题】:check html checkbox using a button使用按钮检查 html 复选框
【发布时间】:2011-01-09 14:05:51
【问题描述】:

我在 Google 上的任何地方都在努力寻找解决方案,也许我搜索不正确,但我想我会来问问 StackOverflow 永远值得信赖的成员。

我想使用一个 html 按钮来检查一个 html 复选框。我不想使用复选框的原因纯粹是出于可访问性的原因,因为我正在开发的应用程序将在终端上并通过触摸屏使用,因此 HTML 复选框太小了。

唯一的问题是复选框列表是动态的,因为它是使用 SQL 查询填充的。显然,我可以为创建 HTML 按钮做同样的事情。

我猜它需要 JavaScript(我现在非常高兴使用它,因为我发现这个应用程序中需要的很多功能都需要 JavaScript)来执行此功能。

所以澄清一下:我想点击一个按钮,说它的值为“Fin Rot”,并选中值为“Fin Rot”的复选框。然后,如果我单击另一个按钮,说它的值为“Ich”,那么它还会选中值为“Ich”的复选框

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    虽然您可以为此使用按钮和 JavaScript,但我可以建议一种更简单的方法吗?只需使用为此设计的<label>just,并将其设置为按钮的样式,例如:

    <input type="checkbox" id="finRot" name="something" value="Fin Rot">
    <label for="finRot">Some text here, could be "Fin Rot"</label>
    

    或者(如果您不想在 checkbox 上使用 id 和在 label 上使用 for):

    <label>
        <input type="checkbox" name="something" value="Fin Rot">
        Some text here, could be "Fin Rot"
    </label>
    

    ....然后,如果需要,您可以使用 CSS 隐藏复选框,但也可以单击以切换复选框。

    You can test out a demo here,如果需要,还会在标签上显示一些按钮式 CSS。

    【讨论】:

    • +1 比您发布此内容时我正在编写的基于 JS 的解决方案要好得多...
    • @Felix - 不,那是 for 属性片段...自 Netscape 开始工作 :)
    • @Felix:只要“for”属性的值与相关inputid 完全相同,它就对我有用(Chrome 8.x,Ubuntu 10.10)元素。
    • @Nick Craver, @David Thomas:哦,我刚刚复制了 Nick 的代码,但它仍然是 id"finRot"... 没关系 ;)
    • @Felix - 错字!我以为我很快就抓住了它:'(
    【解决方案2】:

    此示例使用一个按钮来打开/关闭复选框。

    http://jsfiddle.net/DnEL3/

    <input type="checkbox" id="finRot" name="something" value="Fin Rot">
    <button onclick="document.getElementById('finRot').checked=!document.getElementById('finRot').checked;">Fin Rot</button>
    

    【讨论】:

      【解决方案3】:

      HTML 解决方案怎么样。

       <p><input type="checkbox"
       value="Another check box"
       name="cboxwithlabel" id="idbox"><label
       for="idbox">Another
       checkbox</label></p>
      

      【讨论】:

      • 或者,事实上,任何其他input(和textarea)元素...=)
      【解决方案4】:

      如果您正在寻找引导解决方案,我刚刚创建了这个:

      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
      
      <div class="container">
        <div class="row">
          <div class="col-md-6">
            <!-- Here starts the component -->
            <label class="input-group">
              <span class="input-group-addon">
                <input type="checkbox">
              </span>
              <span class="form-control btn btn-primary">
                Click to toggle checkbox
              </span>
            </label>
            <!-- Here ends the component -->
          </div>
        </div>
      </div>

      【讨论】:

      • 谢谢,你知道这篇文章已经有 9 年历史了吧??
      • 我知道.. 谷歌仍然设法将我指向这篇文章。所以我认为分享我的方法作为潜在访问者的参考可能会很有用。
      猜你喜欢
      • 2017-01-24
      • 1970-01-01
      • 2019-05-29
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-20
      相关资源
      最近更新 更多