Javascript IE JS中的单选按钮顺序反转
我有在FF、Safari和Chrome中正常运行的代码,但在IE中结果相反。我显示一个是/否单选按钮问题,然后根据选择显示“是后续”或“否后续”。 “position_1”是显示是否选择了第一个单选按钮选项的元素Javascript IE JS中的单选按钮顺序反转,javascript,internet-explorer,firefox,onclick,radio-button,Javascript,Internet Explorer,Firefox,Onclick,Radio Button,我有在FF、Safari和Chrome中正常运行的代码,但在IE中结果相反。我显示一个是/否单选按钮问题,然后根据选择显示“是后续”或“否后续”。 “position_1”是显示是否选择了第一个单选按钮选项的元素 #My onclick js function ShowHide(parent, position_1, position_2) { if (parent[0].checked) { ShowIt(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();
}
}
IE起作用,而FF、Chrome和Safari则相反。似乎我对收音机选项的订购与IE相反。有没有更好的方法可以在所有浏览器中使用
使现代化
HTML代码段(仅供参考,使用django包uni-form显示表单)
这只狗友好吗*
是不是
你爱抚过它吗?
是不是
我找到了一个有效的解决方案,为了解决这个问题,我做了如下工作。我唯一改变的是,我像这样编辑了ShowHide函数
function ShowHide(parent, position_1, position_2) {
var radioLength = parent.length;
for(var i = 0; i < radioLength; i++) {
if(parent[i].checked) {
var radio_value = parent[i].value;
}
}
if (radio_value == 0)
{
ShowIt(position_1);
HideIt(position_2);
}
else
{
if (radio_value == 1)
{
HideIt(position_1);
ShowIt(position_2);}
else {}
}
函数显示隐藏(父级,位置1,位置2){
var radioLength=父项长度;
对于(var i=0;i
}您可以发布一个HTML代码片段以与JS配合使用。您可以发布将位置1和位置2传递到ShowHide()函数中的代码吗?一些附带的HTML可能也会有所帮助。
<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>
function ShowHide(parent, position_1, position_2) {
var radioLength = parent.length;
for(var i = 0; i < radioLength; i++) {
if(parent[i].checked) {
var radio_value = parent[i].value;
}
}
if (radio_value == 0)
{
ShowIt(position_1);
HideIt(position_2);
}
else
{
if (radio_value == 1)
{
HideIt(position_1);
ShowIt(position_2);}
else {}
}