我正在为这个问题撕扯头发。我有如下所示的 javascript 代码:
<script type=text/javascript>
function readVals(){
val1 = $('#select1').val()
val2 = $('#select2').val()
val3 = etc.
}
</script>
<select id='select1'>
<option value='val1'>val1</option>
<option value='val2'>val2</option>
</select>
<select id='select2'>
<option...
readVals 方法在桌面运行时工作得很好,在 Firefox、Chrome、Safari 和 Mac、Ubuntu 和 Windows 上进行了测试。然而,从 Android 和 iPhone 来看,无论移动浏览器如何,$('#select2').val() 总是返回 0。更奇怪的是,我构造了另一个这样的测试函数:
function getVal2(){
alert($('#select2').val())
}
getVal2()
在页面的之前声明readVals()
,<head>
它会提醒正确的值,即使在移动设备上也是如此。所以我运行getVal2()
并看到正确的值。然后我readVals()
立即运行并得到错误的值,但仅适用于val2
,并且仅在移动设备上,但在任何移动浏览器上。
有任何想法吗?