问题描述
- 关于combobox循环取值跟取ID赋值问题
-
红框里面的代码如果是写在onSelect方法里面,就不能正常赋值,也不能循环,K值就是最大值2(ch.length=2)
红框里面的代码如果是写在onSelect方法外面,可以正常赋值,也能循环,但是赋值为0,位L的默认值,等于是onSelect方法里面的赋值没起作用。为何会是这种情况。
解决方案
这段代码看不懂你的逻辑,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);
}
}
解决方案二:
跟onselect方法无关,k值是临时的,你放到循环外面必然拿不到
解决方案三:
跟onselect方法无关,k值是临时的,你放到循环外面必然拿不到
解决方案四:
赋值的在循环里面啊。
解决方案五:
$('#m2'+k).val(l)
改$(this).val(l)就行了,不需要引用k,this对象指向当前的select
时间: 2024-10-28 04:04:54