【问题标题】:hidden div and showing div making radio buttons not work jQuery mobile隐藏的 div 和显示的 div 使单选按钮不起作用 jQuery mobile
【发布时间】:2013-06-18 22:36:12
【问题描述】:

我有一个在页面加载时开始隐藏的 div,然后在用户单击按钮时显示。

这个 div 包含更多打开 jQuery 移动弹出窗口的按钮。这些弹出窗口上有单选按钮。单选按钮显示,但是当您单击它们时,它们不会切换选中的单选按钮。任何想法如何解决这一问题?我认为刷新一下就可以了,但是我尝试了一些不同的方法都没有成功。

<div class="ui-grid-b center hide" id="grid-2">
                <div class="ui-block-a gridRows">
                    <h2 class="labelText">LS1</h2>
                    <a href="#LS1popup" data-rel="popup" onClick="strobeBackground();"><img src="images/LEDoff.gif" id="LS1LED" class="LED"></a>
                </div>
                <div class="ui-block-b gridRows">
                    <h2 class="labelText">LS2</h2>
                    <a href="#LS2popup" data-rel="popup" id="" onClick="strobeBackground();"><img src="images/LEDoff.gif" id="LS2LED" class="LED"></a>
                </div>
                <div class="ui-block-c gridRows">
                    <h2 class="labelText">MS</h2>
                    <a href="#MSpopup" data-rel="popup" id="" onClick="strobeBackground();"><img src="images/LEDoff.gif" id="MSLED" class="LED"></a>
                </div>
            </div>

下面的这个 div 有弹出和单选按钮

<div data-role="popup" id="LS1popup" data-theme="d">
            <a href="#" data-rel="back" data-role="button" data-theme="b" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>               
                <fieldset data-role="controlgroup" data-inset="true">
                    <ul data-role="listview" data-inset="true" data-theme="d" data-icon="">
                      <li>Edit LS1 LED</li>
                    </ul>
                      <input type="radio" name="LS1" id="LS1off" value="off" onClick="setImages();" data-theme="b" checked="checked"/>
                      <label for="LS1off">Off</label>
                      <input type="radio" name="LS1" id="LS1green" value=" green" onClick="setImages();" data-theme="b"/>
                      <label for="LS1green">Green</label>
                      <input type="radio" name="LS1" id="LS1flashinggreen" value="flashinggreen" onClick="setImages();"  data-theme="b"/>
                      <label for="LS1flashinggreen">Flashing Green</label>
                      <input type="radio" name="LS1" id="LS1yellow" value="yellow" onClick="setImages();"  data-theme="b"/>
                      <label for="LS1yellow">Yellow</label>
                </fieldset>
        </div><!-- /popup -->

【问题讨论】:

    标签: jquery jquery-mobile mobile radio-button refresh


    【解决方案1】:

    这里工作正常http://jsfiddle.net/yeyene/AeXnV/点击LS1下的图片看看。

    setImages() 函数在做什么?

    <div data-role="popup" id="LS1popup" data-theme="d">
            <a href="#" data-rel="back" data-role="button" data-theme="b" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>               
                <fieldset data-role="controlgroup" data-inset="true">
                    <ul data-role="listview" data-inset="true" data-theme="d" data-icon="">
                      <li>Edit LS1 LED</li>
                    </ul>
                      <input type="radio" name="LS1" id="LS1off" value="off" onClick="setImages();" data-theme="b" checked="checked"/>
                      <label for="LS1off">Off</label>
                      <input type="radio" name="LS1" id="LS1green" value=" green" onClick="setImages();" data-theme="b"/>
                      <label for="LS1green">Green</label>
                      <input type="radio" name="LS1" id="LS1flashinggreen" value="flashinggreen" onClick="setImages();"  data-theme="b"/>
                      <label for="LS1flashinggreen">Flashing Green</label>
                      <input type="radio" name="LS1" id="LS1yellow" value="yellow" onClick="setImages();"  data-theme="b"/>
                      <label for="LS1yellow">Yellow</label>
                </fieldset>
        </div><!-- /popup -->
    

    【讨论】:

    • 它在那里工作,因为 div 最初并未隐藏。 setImages() 会更改每个事物的图像,因此当 LS1 更改时,如果将其设置为 LS1 绿色,则图像变为绿色,如果选择 LS1yellow,则图像变为黄色。也忽略 strobeBackground onClick 的东西,那是错误的。
    • 所以有一个按钮。单击它时,会显示带有其他弹出按钮的 div。当您单击其中一个时,它会打开一个带有一堆单选按钮的弹出窗口。当您单击单选按钮时,它们会起作用,但它们不会显示被选中的单选按钮。
    【解决方案2】:

    想通了,我找到了 jQuery 的正确单选按钮刷新

    http://jquerymobile.com/demos/1.0/docs/forms/docs-forms.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      • 2017-07-26
      • 2014-04-21
      • 2016-01-20
      • 1970-01-01
      相关资源
      最近更新 更多