Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему скрипт работает только в FF, но не работает в Chrome IE Opera? (https://javascript.ru/forum/misc/12687-pochemu-skript-rabotaet-tolko-v-ff-no-ne-rabotaet-v-chrome-ie-opera.html)

Илья Пестов 28.10.2010 21:09

Почему скрипт работает только в FF, но не работает в Chrome IE Opera?
 
Скрипт нужен для фильтра тегов <option> из <select> методом js display:block; display: none;
Вот форма
<div class="form_block">
             <label>Состояние:</label><input type="checkbox" checked id="p_new" onclick="pnew();" /><label for="p_new" style="float: none; clear: none; width: auto !important;">Новый</label><br />
             <label>&nbsp;</label><input type="checkbox" checked id="p_old" onclick="pold();" /><label for="p_old" style="float: none; clear: none; width: auto !important;">Б/У</label><br />
      </div>  
  <div class="form_block">
          <label>Время доставки:</label>  
             <select name="p_product" class="p_product">
    <option class="_selected" selected>Выберите продукцию</option>
                <optgroup label="1200*800 EUR" id="opt1">
   <option name="p01" class="itemold" value="1">P01 Европоддон Высший сорт</option>
<option name="p02" class="itemold" value="1">P02 Европоддон Первый сорт</option>
<option name="p03" class="itemold" value="1">P03 Европоддон Второй сорт</option>
    </optgroup>
                <optgroup label="1200*800">
   <option name="p10" class="itemnew" value="1">P10 Европоддон (без клейма) Новый</option>
<option name="p12" class="itemold" value="1">P12 Европоддон (без клейма) Первый сорт</option>
<option name="p13" class="itemold" value="1">P13 Европоддон (без клейма) Второй сорт</option>
    </optgroup>
                <optgroup label="1200*1000">
   <option name="p20" class="itemnew" value="2">P20 1200*1000 Новый</option>
<option name="p22" class="itemold" value="2">P22 1200*1000 Первый сорт</option>
<option name="p23" class="itemold" value="2">P23 1200*1000 Второй сорт</option>
    </optgroup>
 </select>

А вот скрипт:
var form = document.buy_app;  
  var p_new = document.getElementById('p_new');
  var p_old = document.getElementById('p_old');
 
  var p_product = document.getElementsByClassName('p_product');
      var order_unit = document.getElementsByClassName('order_unit');
  var p_sum = document.getElementsByClassName('sum');
 
  var itemnew = document.getElementsByClassName('itemnew');
  var itemold = document.getElementsByClassName('itemold');
 
  function pnew() {
     if (p_new.checked)
    {
   for(i=0; i<itemnew.length; i++)
{
 itemnew[i].style.display = 'block';
}
}
 else
    {
   for(i=0; i<itemnew.length; i++)
{
 itemnew[i].style.display = 'none';
}
               for(i=0; i<p_product.length; i++)
               {
               p_product[i].selectedIndex = 0;
p_product[i].value = null;
p_sum[i].value = '';
               }
}
 }
  function pold() {
     if (p_old.checked)
    {
   for(i=0; i<itemold.length; i++)
{
 itemold[i].style.display = 'block';
}
}
     else
    {
   for(i=0; i<itemold.length; i++)
{
 itemold[i].style.display = 'none';
}
               for(i=0; i<p_product.length; i++)
               {
               p_product[i].selectedIndex = 0;
p_product[i].value = null;
p_sum[i].value = '';
               }
}
    }
 
 
 
  function allload() {  
  pnew();
  pold();
  }
 
  window.onload = allload;

Sweet 28.10.2010 22:40

Цитата:

Сообщение от Илья Пестов
Почему скрипт не работает в Chrome

Да поможет тебе Ctrl+Shift+I

danik.js 29.10.2010 01:56

Тут не в скрипте дело, а в поддержке css-свойства display для option'ов. вот так вот все печально )


Часовой пояс GMT +3, время: 11:04.