Javascript变量在IE中不起作用||用Javascript隐藏选项


Javascript variables not working in IE || hiding options with Javascript

此代码在Chrome&Firefox-但在IE&Safari。

<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>

Chrome/FF中显示警报1+2,但IE中仅显示警报1。

---生成的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>

---更新---

添加单引号似乎有助于在IE JS代码为空之前生成它。这还添加了style="display:none;"新的问题是IE和Safari不支持隐藏选项。将禁用该选项同时隐藏它。

---状态---固定的结束问题似乎隐藏起来,

尝试使用单引号

var choiceid = '<?php echo $option['product_option_id']; ?>';
var choicebigid = '<?php echo $option_value['product_option_value_id']; ?>'