JQuery Mobile не может скрыть кнопку отправки - PullRequest
24 голосов
/ 14 августа 2011

Я использую последнюю версию jquery mobile, и моя проблема в том, что я присвоил ID кнопке отправки и затем добавил несколько CSS, чтобы установить отображаемый идентификатор: нет;

По какой-то причине это делаетне работает.

Кто-нибудь имел эту проблему раньше?

Ответы [ 4 ]

23 голосов
/ 14 августа 2011

Трудно сказать, что вы пытаетесь сделать без какого-либо кода, но я думаю, что проблема связана с тем, что jQuery Mobile не стилизует вашу существующую кнопку, а скорее скрывает элемент и оборачивает его в новый div который выглядит как кнопка и ведет себя как кнопка.

Текущая разметка jQuery Mobile для кнопки выглядит следующим образом:

<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 и скрыть это:

$('#submit_btn').closest('.ui-btn').hide();

Если есть лучший способ сделать это, я хотел бы знать об этом.Вот скрипка , которая показывает мое решение в действии.

21 голосов
/ 20 сентября 2011

Я всегда использую:

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

Кажется, это работает нормально, так как кнопка или элемент ввода всегда будут дочерними по отношению к div 'wrapper'.

11 голосов
/ 08 января 2013

У меня были проблемы с вышеуказанными ответами в случаях, когда мне нужно было переключаться между состояниями.

Мне было проще всего обернуть вашу начальную кнопку в элемент div, а затем просто скрыть / показать ее.*

Значение:

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

И тогда просто обращение к содержащему div будет работать как обычно, так как все мобильные div и классы jQuery создаются внутри содержащего div.

4 голосов
/ 05 сентября 2012

Если вы добавите data-role="none" к своему элементу ввода, jQuery mobile не будет рисовать дополнительную кнопку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...