jquery mobile无法隐藏提交按钮

时间:2011-08-13 21:16:12

标签: jquery jquery-mobile

我正在使用最新版本的jquery mobile,我的问题是我给了一个提交按钮ID,然后添加了一些css来设置要显示的ID:none;

出于某种原因,这不起作用。

以前有没有人遇到这个问题?

4 个答案:

答案 0 :(得分:23)

在没有任何代码的情况下很难说你要做什么,但我认为问题源于jQuery Mobile没有设置现有按钮的样式,而是隐藏元素并将其包装在新的{{{ 1}}被设计为外观和行为就像一个按钮。

按钮的当前jQuery Mobile标记如下所示:

div

所以你要找到与班级<div data-theme="e" class="ui-btn ui-btn-inline ui-btn-corner-all ui-shadow ui-btn-hover-e ui-btn-down-e" aria-disabled="false"> <span class="ui-btn-inner ui-btn-corner-all"> <span class="ui-btn-text">Submit</span> </span> <input type="submit" id="submit_btn" value="Submit" data-theme="e" data-inline="true" class="ui-btn-hidden" aria-disabled="false"> </div> 最近的祖先并隐藏它:

ui-btn

如果有更好的方法可以做到这一点,我很乐意了解它。这是一个显示我的解决方案的fiddle

答案 1 :(得分:21)

我总是使用:

$("#<button-id>").parent().hide();

似乎工作正常,因为按钮或输入元素将始终是'wrapper'div的子元素。

答案 2 :(得分:11)

在我需要在州之间切换的情况下,我对上述答案有疑问。

我发现最简单的方法是将初始按钮包装在div中,然后隐藏/显示它。

意义:

<div id="someid">
<input type="button" class="submit_button" id="resend_invoice" value="Button"/>
</div>

然后简单地解决包含div会像往常一样工作,因为所有jQuery移动div和类都是在包含div中创建的。

答案 3 :(得分:4)

如果你将data-role="none"添加到你的输入元素,那么jQuery mobile将不会绘制额外的按钮。