Firefox javascript问题设置变量

时间:2011-04-04 15:21:10

标签: javascript firefox variables

我已经制作了一个小的javascript脚本来设置一个值(在这里命名为stock),我想在下拉列表中取得最大值。如果它大于6,它将是最大值。

以下是代码:

<script type="text/javascript"> 
function selecteazaElement(id,stock)
{
document.addtobasket.idOfSelectedItem.value=id;
var number23=document.addtobasket.number;
number23.options.length=0;
if (stock>=6)
    stock=6;
for (i=1;i<=stock;i++)
{
    //alert ('id: '+id+'; stock: '+stock);
    number23.options[number.options.length]=new Option(i, i);
}
    //window.status="my status";
    } 
  </script>

我以这种形式使用此代码:

     <form id="addtobasket" name="addtobasket" method="POST" action="<?= Route::url('Add         to Basket', array('sale_id' => $sale->id)); ?>">
     <input type="hidden" name="idOfSelectedItem" id="idOfSelectedItem" value="-1">     
    <select name="number" id="number">                 
<option value=0>Choose the number of products</option>                                                         </select>
    <button type="submit" name = "submit" onclick="valbutton(addtobasket");>Adauga in cos</button><br />    
   </fieldset>
   </form>

因此,在用户选择产品后,形成一个列表,他也可以选择一个(产品)数量 我的问题是:

它在chrome和opera中完美运行,但不会在Firefox的下拉列表中显示数字。我想知道为什么会这样?

谢谢!

1 个答案:

答案 0 :(得分:3)

此行导致Firefox出现问题:

number23.options[number.options.length]=new Option(i, i);

将其更改为:

number23.options[number23.options.length]=new Option(i, i);

它会起作用。

您的原始代码: http://jsfiddle.net/CS6uv/1/(在Firefox中不起作用)

更正后的代码: http://jsfiddle.net/CS6uv/2/(适用于Firefox)