Javascript 为什么不抓取所选的选项?

Javascript 为什么不抓取所选的选项?,javascript,prototypejs,Javascript,Prototypejs,怎么了?无论提交的选项值是多少,它都会将1作为quant var发出警报。你知道为什么吗?请注意,我没有使用jQuery,也没有使用Vanilla或原型框架。这是因为在加载页面时,您正在为quant变量赋值 为了获得当前值 1) 您需要在签入功能中读取所选值 将代码更改为,如下所示: function submitQuickview() { if(productForm.validate()){ //submit the form with aj

怎么了?无论提交的选项值是多少,它都会将1作为quant var发出警报。你知道为什么吗?请注意,我没有使用jQuery,也没有使用Vanilla或原型框架。

这是因为在加载页面时,您正在为quant变量赋值

为了获得当前值
1) 您需要在签入功能中读取所选值 将代码更改为,如下所示:

function submitQuickview()
    {
        if(productForm.validate()){

            //submit the form with ajax
            new Ajax.Request($('product_addtocart_form').action, {
                parameters: $('product_addtocart_form').serialize(true),
                onSuccess: checkIt
            });
        }

        return false;
    }

2) 在触发select的onchange事件时更改该值。 比如:

var s = document.getElementById("quantity");     
function checkIt(){     
 var quant = s.options[s.selectedIndex].text;     
 alert (quant); 
}

这是因为在加载页面时,您正在为quant变量赋值

为了获得当前值
1) 您需要在签入功能中读取所选值 将代码更改为,如下所示:

function submitQuickview()
    {
        if(productForm.validate()){

            //submit the form with ajax
            new Ajax.Request($('product_addtocart_form').action, {
                parameters: $('product_addtocart_form').serialize(true),
                onSuccess: checkIt
            });
        }

        return false;
    }

2) 在触发select的onchange事件时更改该值。 比如:

var s = document.getElementById("quantity");     
function checkIt(){     
 var quant = s.options[s.selectedIndex].text;     
 alert (quant); 
}

此方法避免创建循环引用(或生成循环引用的闭包),并避免全局变量

var s = document.getElementById("quantity");     
var quant = s.options[s.selectedIndex].text;     
s.onchange = function(){
    quant = s.options[s.selectedIndex].text;     
}

function checkIt(){     
 alert (quant); 
}

此方法避免创建循环引用(或生成循环引用的闭包),并避免全局变量

var s = document.getElementById("quantity");     
var quant = s.options[s.selectedIndex].text;     
s.onchange = function(){
    quant = s.options[s.selectedIndex].text;     
}

function checkIt(){     
 alert (quant); 
}

“我不使用jquery”是什么意思?这意味着我大部分时间都在尝试使用javascript寻找解决方案,但有人会给我一种jquery方法,而我在这里不是选择;)大多数人来这里都要求jquery回答所有问题。“我不使用jquery”是什么意思?这意味着大多数时候我试图使用javascript找到解决方案时,有人会给我一个jquery方法,我在这里不是在取笑;)大多数人到这里来,都是要一个jquery的答案。啊。。我是个笨蛋。周末准备好了!谢谢你的帮助。啊。。我是个笨蛋。周末准备好了!谢谢你的帮助。