Как я могу скрыть строку таблицы на основе выбора, сделанного в раскрывающемся списке

0

У меня есть раскрывающееся меню, которое я хотел бы скрыть, когда Франция будет выбрана в выпадающем меню в другой строке. Я хотел бы скрыть всю строку, чтобы граф и выпадающее меню были скрыты. Ниже приведен CSS, JS, который я попробовал, и ссылка на то же самое в JSFiddle.

<table>
<tr>

<td class="BBFieldCaption DonationCaptureFieldCaption" id="PC1920_DonationCapture1_AddressCtl_lbl_country">
<label id="PC1920_DonationCapture1_AddressCtl_lblCountry" for="PC1920_DonationCapture1_AddressCtl_dd_Country">Country:</label>
</td>

<td>
<select class="BBFormSelectList DonationCaptureSelectList" id="PC1920_DonationCapture1_AddressCtl_dd_Country" onchange="javascript:setTimeout('__doPostBack(\'PC1920$DonationCapture1$AddressCtl$dd_Country\',\'\')', 0)" name="PC1920$DonationCapture1$AddressCtl$dd_Country">
<option value=""></option>
<option value="Australia">Australia</option>
<option value="Bahamas">Bahamas</option>
<option value="Bermuda">Bermuda</option>
<option value="Canada">Canada</option>
<option value="France" selected="selected">France</option>
<option value="Germany">Germany</option>
<option value="Italy">Italy</option>
</select>
</td>
</tr>

<tr>
<td class="BBFieldCaption DonationCaptureFieldCaption" id="PC1920_DonationCapture1_AddressCtl_lbl_countyUK">
<label id="PC1920_DonationCapture1_AddressCtl_lblCountyUK" for="PC1920_DonationCapture1_AddressCtl_dd_CountyUK">County:</label>
</td>

<td class="taLeft BBFieldControlCell DonationCaptureFieldControlCell" id="PC1920_DonationCapture1_AddressCtl_ctl_countyUK">
<select class="BBFormSelectList DonationCaptureSelectList" id="PC1920_DonationCapture1_AddressCtl_dd_CountyUK" name="PC1920$DonationCapture1$AddressCtl$dd_CountyUK">
<option value="" selected="selected"></option>
<option value="Alcorn">Alcorn</option>
<option value="Alexander">Alexander</option>
</select>
</td>
</tr>
</table>

Я попытался сделать это с помощью jquery, добавив следующее, но не смог заставить это работать:

$(document).ready(function() {
$('#PC1920_DonationCapture1_AddressCtl_dd_Country').change(function() {
PC1920$DonationCapture1$AddressCtl$dd_Country = $('#PC1920_DonationCapture1_AddressCtl_dd_Country').val();

$('PC1920_DonationCapture1_AddressCtl_ctl_countyUK').hide();

if (PC1920$DonationCapture1$AddressCtl$dd_Country == 'France')
{
 $('PC1920_DonationCapture1_AddressCtl_ctl_countyUK').hide();
}

});
});

У меня нет прямого доступа к HTML для формы, это использование системы CMS. Я также добавил это к JSFiddle, любая помощь будет оценена по достоинству. Спасибо! См. JSFiddle здесь: http://jsfiddle.net/jelane20/qG2bT/7/

  • 0
    дайте нам ссылку на скрипку.
Теги:

2 ответа

0

Попробуйте что-то вроде этого -

 $(document).ready(function () {
     $('#PC1920_DonationCapture1_AddressCtl_dd_Country').change(function () {
         $(this).parents('tr').next().toggle($(this).val() !== "France");
     });
 });

Скриншот здесь

  • 0
    Можем ли мы сделать это, выбрав идентификатор строки, а не следующую строку? В реальной форме строка, которую я хотел бы скрыть, находится дальше по форме, но здесь было много кода, чтобы добавить его. Спасибо за помощь!
  • 0
    Я думаю, я понял :)
0

Кажется, вам не хватает # в вашем селекторе. + Изменить

if (PC1920$DonationCapture1$AddressCtl$dd_Country == 'France')
{
     $('PC1920_DonationCapture1_AddressCtl_ctl_countyUK').hide();
}

в

if (PC1920$DonationCapture1$AddressCtl$dd_Country == 'France')
{
     $('#PC1920_DonationCapture1_AddressCtl_ctl_countyUK').hide();
}
  • 0
    Кроме того, ваша скрипка не работает, потому что jQuery не включен, а функция __doPostBack не определена, что приводит к ошибкам JavaScript.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню