在index.html中,有一个选择下拉菜单:

<select id="car">
    <option value="bmw">BMW</option>
    <option value="toyota">TOYOTA</option>
</select>


我的js:

var c = $('#car');

var selection;

c.change(function(){

    if(c.val()==='bmw'){

        selection = 'BMW';

    }else if(c.val()==='toyota'){

        selection = 'TOYOTA';

    }

});

console.log(c.val());
console.log(selection);


第一次加载页面时,最初的选择是BMW,我得到了控制台输出“ BMW”,这很好,然后我选择了“ TOYOTA”,但两个控制台输出仍然是“ BMW”。

如何获得电流
 选择更改后,jQuery .change(...)函数外部选择的值?

________________________________________________________________________________________________________错误

car.val()Selection都是我在本文中的错字,在我的代码中,我确实使用了selectionc.val()

我的观点是如何从jQuery change()函数中获取当前选择值。请不要再讨论我的错字了。谢谢。

最佳答案

您应该使用小写字母定义var选择,如下所示:

var selection;


为什么? Javascript区分大小写,因此,Sensitive和sensitive是不同的变量。

另外,您应该定义自己的汽车变量,如下所示:

var selection;
c.change(function(){
    var car = $(this); //declare it
    if(car.val()==='bmw'){
        selection = 'BMW';
    }else if(car.val()==='toyota'){
        selection = 'TOYOTA';
    }
});

07-24 16:07