У меня есть код, который работает правильно в FF, Safari и Chrome, однако в IE результат меняется на противоположный.Я показываю вопрос с переключателем «да / нет», затем на основании выбора я показываю «да» или «нет повторений».'position_1' - это элементы, которые отображаются, если выбрана первая опция переключателя ...
#My onclick js
function ShowHide(parent, position_1, position_2) {
if (parent[0].checked)
{
ShowIt(position_1);
HideIt(position_2);
}
else
{
if (parent[1].checked)
{
HideIt(position_1);
ShowIt(position_2);}
else {}
}
}
#Additional JS
function ShowIt(childs) {
//show it
for (i=0;i<childs.length;i++) {
jQuery("#"+childs[i]).css('margin-left','50px').css('background-color','#F2F2F2').slideDown();
}
}
function HideIt(childs) {
//hide it
for (i=0;i<childs.length;i++) {
jQuery("#"+childs[i]).slideUp();
}
}
Приведенный выше код работает в FF, Chrome и Safari, как указано.Однако в IE с приведенным выше кодом это делает наоборот.Например, если выбрано то, что я воспринимаю как 'position_1' или сначала слева, это показывает дочерние входные данные для 'position_2' и наоборот.Если я поменяю позиции так ...
function ShowHide(parent, position_1, position_2) {
if (parent[0].checked)
{
ShowIt(position_2);
HideIt(position_1);
}
else
{
if (parent[1].checked)
{
HideIt(position_2);
ShowIt(position_1);}
else {}
}
}
IE работает, а затем FF, Chrome и Safari меняются местами.Похоже, что мой порядок для опций радио противоположен для IE.Есть ли лучший способ сделать это, который будет работать во всех браузерах?
ОБНОВЛЕНИЕ
Фрагмент HTML (FYI я использую унифицированную форму пакета django для отображения формы)
<div id="div_id_question_181" class="ctrlHolder">
<label for="id_question_181">
Is the Dog Friendly?*
</label>
<label for="id_question_181_0"><input name="question_181" onchange="ShowHide(question_181,new Array('div_id_question_220'),new Array());" type="radio" class="radioselect" value="1" id="id_question_181_0" /> Yes</label> <label for="id_question_181_1"><input name="question_181" onchange="ShowHide(question_181,new Array('div_id_question_220'),new Array());" type="radio" class="radioselect" value="0" id="id_question_181_1" /> No</label>
</div>
<div id="div_id_question_220" class="ctrlHolder">
<label for="id_question_220">
Did you pet it?
</label>
<label for="id_question_220_0"><input value="1" type="radio" class="secondary_field triggeron_181 choice_0 radioselect" name="question_220" id="id_question_220_0" /> Yes</label> <label for="id_question_220_1"><input value="0" type="radio" class="secondary_field triggeron_181 choice_0 radioselect" name="question_220" id="id_question_220_1" /> No</label>
</div>