Как отключить классы с одинаковым именем и разными экземплярами в jquery?

У меня webControl с 3 TextBoxes, и я использую этот webControl на той же странице, но дважды с двумя экземплярами.

Я хочу скрыть одно текстовое поле от одного элемента управления, а другое текстовое поле от другого элемента управления.

<uc1:VoyageSelector runat="server" ID="VoyageSelector1"  Instance="1" />

<uc1:VoyageSelector runat="server" ID="VoyageSelector2"  Instance="2" />

Этот элемент управления имеет классы текстового поля, такие как:

$(".vss-week-picker").val(); 
$('.vs-voyage-picker').val(); 
$('.vs-vessel-display').val(); 

Когда я отключаю:

$(".vss-week-picker").hide();

Обе недели контроля TextBox скрываются. Как я могу решить эту проблему сокрытия одного класса экземпляра?


person þÍńķ    schedule 03.07.2013    source источник


Ответы (2)


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

Например, если он создает родительский элемент с идентификатором VoyageSelector1, вы скрываете его текстовые поля следующим образом:

$('.vss-week-picker','#ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector').‌​hide();
person AntouanK    schedule 03.07.2013
comment
Я только что привел пример того, как это сделать, конечно, если вы копируете пасту, ничего не выйдет. Вы можете опубликовать созданный HTML-код? - person AntouanK; 03.07.2013
comment
$ (# ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector .vs-service-picker) .hide (); так это работает - person þÍńķ; 03.07.2013
comment
это то, что я сказал. получить сгенерированный идентификатор и использовать его. Я не знал точного идентификатора, VoyageSelector1 был примером. Просто замените VoyageSelector1 на ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector в моем коде, это то же самое. Вы получите это: $('.vss-week-picker','#ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector').hide(); - person AntouanK; 03.07.2013
comment
В порядке. Я рада, что это работает. А если быть точным, то это (возможно, теоретически) быстрее. См. Здесь - ›stackoverflow.com/questions/650860/ - person AntouanK; 03.07.2013

я делал это раньше, точно не помню, может это сработает

$("[id ^= VoyageSelector1] .vss-week-picker").hide();
person A.T.    schedule 03.07.2013
comment
$ (# ContentPlaceHolder1_VoyageSelector2_tblVoyageSelector .vs-service-picker) .hide (); так это работает ... Спасибо :) - person þÍńķ; 03.07.2013