Как я могу установить видимость обратно в true в jquery

Я использую следующий код, чтобы скрыть раскрывающийся список:

  <asp:DropDownList ID="test1" runat="server" DataSourceID="dsTestType" CssClass="maptest1" visible="false"
    DataValueField="test_code" DataTextField="test_desc" AppendDataBoundItems="true" >
    <asp:ListItem></asp:ListItem>
  </asp:DropDownList>   

Как-то я пытаюсь показать это раскрывающееся меню, используя следующий код, но это просто не работает для меня. Кто-нибудь знает, почему?

$("#test1").show();

Ответ 1

Использование свойства ASP.NET visible="false" будет устанавливать атрибут visibility, где, как мне кажется, при вызове show() в jQuery он изменяет атрибут display стиля CSS.

Таким образом, последнее не будет исправлять первое.

Вам нужно сделать это:

$("#test1").attr("visibility", "visible");

Ответ 2

Зависит от того, как вы спрятали его.

Если вы использовали значение CSS visibility, то

$('#test1').css('visibility', 'visible');

Если вы использовали CSS `display '

$('#test1').css('display', 'block'); //or inline or any of the other combos

Возможно, вы даже сделали непрозрачность = 0

$('#test1').css('opacity', '1');

Ответ 3

Зависит, если я правильно помню, я думаю, что asp.net не будет отображать объект html, если вы установите видимость на false.

Если вы хотите управлять им со стороны клиента, то вам лучше просто включить значение css, чтобы установить его невидимым, а не использовать visible = false.

Ответ 4

Удалите атрибут visible = "false" и добавьте класс CSS, который по умолчанию не отображается. Затем вы должны иметь возможность ссылаться на раскрывающийся список по правильному идентификатору, например:

$("#ctl00_cphTest_test1").show();

Над идентификатором вы должны закрепиться в источнике отображаемой страницы в своем браузере.

Ответ 5

Как вы сделали его невидимым? Попробуйте другой подход. Используйте

$("#test1").css('display','none');

Если вы хотите скрыть этот элемент, а затем используйте

$("#test1").css('display','block');

Когда вы хотите его показать.

Или просто переместите эти стили в класс и добавьте/удалите класс.

Ответ 6

Используйте style="display:none" в теге раскрывающегося списка, а в jquery используйте следующее для отображения и скрытия.

$("#yourdropdownid").css('display', 'inline');

ИЛИ ЖЕ

$("#yourdropdownid").css('display', 'none');

Ответ 7

Я был бы осторожен с установкой display элемента для блокировки. Различные элементы имеют стандартный дисплей как разные вещи. Например, установка отображения для блока для строки таблицы в firefox приводит к неправильной ширине ячеек.

Является ли фактическое имя элемента test1. Я знаю, что .NET может добавлять дополнительные вещи в начало или конец. Сделав это, лучший способ узнать, работает ли ваш селектор правильно.

alert($('#text1').length);

Вам может потребоваться удалить атрибут видимости

$('#text1').removeAttr('visibility');

Ответ 8

Проблема заключается в том, что, поскольку вы используете элементы управления ASP.NET с атрибутом runat, идентификатор элемента управления на самом деле не является "test1". Он "test1" с прикрепленной к нему длинной строкой.