2012-02-12 1 views
-1

PHP:Div ID То же - множественное скрытие/шоу - что пропало?

<input type='checkbox' onChange='DoTheSwitch(1);'><div id='Hide1'>Hide</div> 1 
<input type='checkbox' onChange='DoTheSwitch(2);'><div id='Hide2'>Hide</div> 2 
<input type='checkbox' onChange='DoTheSwitch(3);'><div id='Hide3'>Hide</div> 3 
<input type='checkbox' onChange='DoTheSwitch(4);'><div id='Hide4'>Hide</div> 4 
<input type='checkbox' onChange='DoTheSwitch(5);'><div id='Hide5'>Hide</div> 5 

JavaScript:

function DoTheSwitch(a){ 
    var h = getEl("Hide"+a+"").innerHTML; 
    switch(h){ 
     case "Hide": 
      getEl("Hide"+a+"").innerHTML = "Show"; 
      $('input[id^="Hide"]').click(function(){ 
       $('#HideAB'+$(this).val()).hide(); 
      }); 
      break; 
     case "Show": 
      getEl("Hide"+a+"").innerHTML = "Hide"; 
      $('input[id^="Hide"]').click(function(){ 
       $('#HideAB'+$(this).val()).show(); 
      }); 
      break; 
    } 
} 

Output (Много маленьких точек на карте):

<div id='HideAB".$Stat."' style='display:block;'></div> 

Те "HideAB" будет иметь значение 1, 2, 3 , 4, 5 или 6 на основе того, что я вытащил из базы данных.

То, что я пытаюсь сделать (сон в данный момент), когда пользователь выбирает флажок «1», я хочу скрыть все HideAB со значением 1 и снять флажок, чтобы показать, и так далее. Как исправить это в части Javascript/JQuery?

+2

Ваш код - беспорядок! Встроенный материал, смешивание jQuery с простым Javascript и плюс вопрос не ясен. – elclanrs

+0

Пожалуйста, не редактируйте свой вопрос в соответствии с ответом. Идея с Stack Overflow заключается в том, что люди, имеющие проблемы, должны иметь возможность получить помощь по старым вопросам. Если вы исправите код в соответствии с ответом, другим будет сложно понять этот вопрос. Пожалуйста, откатите редактирование (вы можете сделать это, нажав ссылку «x min ago» рядом с «отредактированным»). –

+0

Спасибо, сделал, и я добавлю новую ревизию внизу (где-нибудь) Lol (grr не давал мне, пока) – sgkdnay

ответ

0

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

+0

Он уникален в своем коде. – gdoron

+0

@gdoron: Да, в его фрагменте кода он уникален, но в тексте он пишет * скрыть все HideAB со значением 1 *, которое я интерпретирую как многократное использование одного и того же идентификатора. –

+0

Итак, переход на класс был бы идеальным, как вы говорите (натолкнулся на несколько похожих «вопросов». Теперь, как я могу исправить часть JQuery, чтобы распознать класс на основе флажка? Спасибо – sgkdnay

Смежные вопросы