|
|
1
2
啊。。。我能想到的一个解决方案是用ul对象替换select,并附加事件处理程序将select同步到ul。对li元素调用.offset()在FF和Chrome上都能正常工作。 因此,如果您单击li元素,它将更新其背景色并更新隐藏选择的选定值。这样,当提交表单时,就会发送正确的值。 HTML格式:
CSS格式:
JS:
已编辑因此,我尝试了另一种方法,遵循Huanism的建议,使用select元素的offset()和scrollTop()。 唯一不可用的是选项元素的高度。所以我试着用字体大小来估计,但并不完美,我不得不在Chrome上添加神奇的数字3来获得确切的偏移量。如果你能计算出选项元素的高度,你就不必处理上面所有的ul/li业务。 它在这里:
|
|
2
0
我想说chrome返回0,因为该选项不可见,因此无法计算顶部。这可能在safari中也会发生,因为它都是webkit浏览器。 我唯一能想到的是,你得到选择的偏移顶部,然后做一些计算,得到选项的大致顶部。例如,如果一个选项的高度约为10px,则您需要知道在您想要的选项之前有多少个选项,并计算出需要在选择顶部添加多少像素。 |
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Dr.0000FF · jQuery按钮点击不显示/隐藏内容 1 年前 |
|
|
user28928120 · 如何在jquery中选择所有类? 1 年前 |
|
Eliable · 使点击计数器和进度条协同工作 1 年前 |
|
Jack Maessen · 在处理程序上使用时如何获取输入类型 1 年前 |