Подтвердить что ты не робот

Jquery mobile не может скрыть кнопку отправки

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

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

У кого-нибудь была эта проблема раньше?

4b9b3361

Ответ 1

Трудно сказать, что вы пытаетесь сделать без кода, но я думаю, что проблема связана с тем, что 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();

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

Ответ 2

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

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

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

Ответ 3

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

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

Значение:

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

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

Ответ 4

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