Этот код отлично работает в Chrome & Firefox - но не работает в IE & Safari.Переменные Javascript, не работающие в IE || скрытые параметры с Javascript
<script type="text/javascript">
$(document).ready(function() {
alert('1');
<?php foreach($options as $option): ?>
<?php if($option['option_choice'] == 1): ?>
var choiceid = <?php echo $option['product_option_id']; ?>;
<?php foreach ($option['option_value'] as $option_value): ?>
<?php if($option_value['whatsize'] == 2): ?>
var choicebigid = <?php echo $option_value['product_option_value_id']; ?>;
<?php endif; ?>
<?php endforeach; ?>
<?php endif; ?>
<?php endforeach; ?>
alert('2');
$('#'+choiceid+''+2).hide();
});
</script>
Предупреждение 1 +2 показывает в Chrome/FF, но только предупреждение 1 показано в IE.
--- Сформирован Chrome JS ---
<script type="text/javascript">
$(document).ready(function() {
alert('1');
var choiceid = '321'; //Produktvalg ID
var choicebigid = '1111';
$('#'+choiceid+''+2).hide();
document.getElementById(choiceid+''+2).style.display = 'none';
alert(choiceid);
});
</script>
--- Сформирован IE JS ---
<script type="text/javascript">
$(document).ready(function() {
alert('1');
var choiceid = '321'; //Produktvalg ID
var choicebigid = '1111';
$('#'+choiceid+''+2).hide();
document.getElementById(choiceid+''+2).style.display = 'none';
alert(choiceid);
});
</script>
--- Update ---
Добавление одиночные кавычки казалось, помогли генерировать IE JS-код - до того, как он был пуст. Это также добавило style = "display: none;" Новая проблема заключается в том, что скрытие опции не поддерживается в IE и Safari. Также отключит опцию, скрывая ее.
--- Состояние --- Исправлено. Конец проблема, казалось, скрываются и
, что делает сгенерированный JS выглядеть? –
Проверьте консоль браузера на наличие сообщений об ошибках. – Spudley
Ваш цикл повторно устанавливает одну и ту же переменную в разные значения. Почему вы делаете это в цикле? – Barmar