关于combobox循环取值跟取ID赋值问题

图片说明

红框里面的代码如果是写在onSelect方法里面,就不能正常赋值,也不能循环,K值就是最大值2(ch.length=2)
红框里面的代码如果是写在onSelect方法外面,可以正常赋值,也能循环,但是赋值为0,位L的默认值,等于是onSelect方法里面的赋值没起作用。为何会是这种情况。

跟onselect方法无关,k值是临时的,你放到循环外面必然拿不到

跟onselect方法无关,k值是临时的,你放到循环外面必然拿不到

赋值的在循环里面啊。

这段代码看不懂你的逻辑,select只有一个,但每次循环都初始化,这个初始化是毫无意义.
看上面的代码,应该是

 $('#m2'+k).val(parseFloat($('#select').val())*parseFloat($('#money').val())/100);
 也就是在onselect中应该是
 onSelect:function(){
    for(var k=0;k<ch.length;k++){//把for循环放里面
            $('#m2'+k).val(parseFloat($('#select').val())*parseFloat($('#money').val())/100);
         }
 }

$('#m2'+k).val(l)

改$(this).val(l)就行了,不需要引用k,this对象指向当前的select