jQuery css与I.E显示问题

时间:2011-08-29 13:54:56

标签: jquery

我有这个代码在点击其中一个时显示 - >阻止或无:

$('#kktekcekimid').click(function(){
    $('#efthavale').css('display','none');  
    $('#kapida').css('display','none'); 
    $('#kredikarti').css('display','block');    
    $('#kredikartitaksit').css('display','none');   
    $('#odemetipi').attr('value','kktekcekim'); 
});

$('#kktaksitid').click(function(){
    $('#efthavale').css('display','none');  
    $('#kapida').css('display','none'); 
    $('#kredikarti').css('display','none'); 
    $('#kredikartitaksit').css('display','block');
    $('#odemetipi').attr('value','kktaksitli'); 
}); 

$('#havaleeftid').click(function(){
    $('#efthavale').css('display','block'); 
    $('#kapida').css('display','none'); 
    $('#kredikarti').css('display','none'); 
    $('#kredikartitaksit').css('display','none');
    $('#odemetipi').attr('value','havaleeft');  
}); 

$('#kapidaodemeid').click(function(){   

    $('#kapida').css('display','block');
    $('#efthavale').css('display','none');  
    $('#kredikarti').css('display','none'); 
    $('#kredikartitaksit').css('display','none');
    $('#odemetipi').attr('value','kapidapesin');    
});

这是默认的html代码,其中包含上面的div:

<input id="radioDefault_2" name="Fieldss" type="hidden" value="" /> 
<span> 
<input id="kktekcekimid" name="Field2" type="radio" class="field radio" value="Online Kredi Kartı" <?php echo $kktekcekim_value;?> tabindex="5" onchange="handleInput(this);" onmouseup="handleInput(this);" required /> 
<label class="choice" for="kktekcekimid" > 
Online Kredi Kartı <strong>Tek Çekim</strong></label> 
</span> 
<span> 
<input id="kktaksitid" name="Field2" type="radio" class="field radio" value="Online Kredi Kartı" <?php echo $kktaksitli_value;?> tabindex="5" onchange="handleInput(this);" onmouseup="handleInput(this);" required /> 
<label class="choice" for="kktaksitid" > 
Online Kredi Kartı <strong>Taksitli</strong></label> 
</span>
<span> 
<input id="havaleeftid" name="Field2" type="radio" class="field radio" value="Havale/EFT" <?php echo $havaleft_value;?> tabindex="6" onchange="handleInput(this);" onmouseup="handleInput(this);" required /> 
<label class="choice" for="havaleeftid" > 
Havale/EFT</label> 
</span> 
<span> 
<input id="kapidaodemeid" name="Field2" type="radio" class="field radio" value="Kapıda Peşin" <?php echo $kapidapesin_value;?> tabindex="7" onchange="handleInput(this);" onmouseup="handleInput(this);" required /> 
<label class="choice" for="kapidaodemeid" > 
Kapıda Peşin</label> 
</span>

<div id="efthavale" style="display:none"></div>
<div id="kapida" style="display:none"></div>
<div id="kredikarti" style="display:none"></div>
<div id="kredikartitaksit" style="display:none"></div>
<div id="kisiselbilgiler" style="display:block"></div>

这适用于chrome和firefox。但是在ie上,它总是显示为默认值,并且在单击时不显示其他div。 (并且不隐藏id =“kredikarti”style =“display:none”div。)

并且它永远不会将此div显示为默认值:id =“kisiselbilgiler”style =“display:block”

可能是什么问题?

3 个答案:

答案 0 :(得分:3)

不确定这是否是您正在寻找的解决方案,但不是将其隐藏在css内联样式中,而是以这种方式隐藏它:

 $('#efthavale, #kapida, etc').hide();

另外,请确保您在$(document).ready()

中围绕jQuery

答案 1 :(得分:1)

您的HTML无效。您底部的<div>个代码都没有关闭</div>代码。但菲尔也应该使用.hide().show()

答案 2 :(得分:1)

你应该让你的代码更简单::))

$(':radio').click(function(){
   $(this).show();
   hideall();
    $('#odemetipi').attr('value', $(this).val()); 
});

function hideall(){
   $(".derp div").hide();
}

<div class="derp">
   <div id="efthavale" style="display:none"></div>
   <div id="kapida" style="display:none"></div>
   <div id="kredikarti" style="display:none"></div>
   <div id="kredikartitaksit" style="display:none"></div>
   <div id="kisiselbilgiler" style="display:block"></div>
</div>