Bir radyo düğmesi grubu değiştirildiğinde / tıklandığında öğeleri gizlemek ve göstermek için jQuery kullanıyorum. Firefox gibi tarayıcılarda iyi çalışıyor, ancak IE 6 ve 7'de işlem yalnızca kullanıcı sayfada başka bir yere tıkladığında gerçekleşir.
Ayrıntılı olarak, sayfayı yüklediğinizde her şey yolunda görünüyor. Firefox'ta, bir radyo düğmesini tıklarsanız, bir tablo satırı gizlenir ve diğeri hemen gösterilir. Ancak, IE 6 ve 7'de, radyo düğmesini tıklarsınız ve sayfada herhangi bir yeri tıklayana kadar hiçbir şey olmaz. Ancak bundan sonra IE, ilgili öğeleri gizleyerek ve göstererek sayfayı yeniden çizer.
İşte kullandığım jQuery:
$(document).ready(function () {
$(".hiddenOnLoad").hide();
$("#viewByOrg").change(function () {
$(".visibleOnLoad").show();
$(".hiddenOnLoad").hide();
});
$("#viewByProduct").change(function () {
$(".visibleOnLoad").hide();
$(".hiddenOnLoad").show();
});
});
İşte XHTML'nin etkilediği kısım. Sayfanın tamamı XHTML 1.0 Katı olarak doğrulanır.
<tr>
<td>View by:</td>
<td>
<p>
<input type="radio" name="viewBy" id="viewByOrg" value="organisation"
checked="checked" />Organisation</p>
<p>
<input type="radio" name="viewBy" id="viewByProduct" value="product" />Product</p>
</td>
</tr>
<tr class="visibleOnLoad">
<td>Organisation:</td>
<td>
<select name="organisation" id="organisation" multiple="multiple" size="10">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</td>
</tr>
<tr class="hiddenOnLoad">
<td>Product:</td>
<td>
<select name="product" id="product" multiple="multiple" size="10">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</td>
</tr>
Bunun neden olduğu ve nasıl düzeltileceği konusunda herhangi bir fikri olan varsa, çok memnun kalacaklardır!