jquery如何点击页面,使select 的下拉框自动弹出?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jquery如何点击页面,使select 的下拉框自动弹出?相关的知识,希望对你有一定的参考价值。
我想点击页面空白处,select下拉框会自动弹出,怎么做呢
<select>
<option>sdf</option>
<option>sdf</option>
<option>sdf</option>
</select>
我想点击页面空白处,select下拉框会自动弹出,怎么做呢
<select>
<option>sdf</option>
<option>sdf</option>
<option>sdf</option>
</select>
jQuery是一个快速、简洁的javascript框架,是继Prototype之后又一个优秀的JavaScript代码库( 或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化html文档操作、事件处理、动画设计和Ajax交互。
jQuery的模块可以分为:入口模块、底层支持模块和功能模块。其核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
参考技术A jquery中可以利用闭包来检测页面点击事件,触发弹出select下拉框。实现方法jquery:
<script src="jquery.js"></script>
<script>
$(function()
$(document).click(function()
return $("#select").click();
);
);
</script>
页面select定义:
<select id=“select”>
<option value ="1">Volvo</option>
<option value ="2">Saab</option>
<option value="3">Opel</option>
<option value="4">Audi</option>
</select> 参考技术B 你在点击空白的地方触发一个select的点击事件,例如
$("#div").click(function()
$("#select").click();
); 参考技术C 用jq写事件
jQuery下拉框,不能使字段值为空
【中文标题】jQuery下拉框,不能使字段值为空【英文标题】:jQuery dropdown box, cannot make the field value empty 【发布时间】:2011-07-27 07:08:00 【问题描述】:在page1.php中
2 个下拉 (dd) 框 - dd1(id="dd1")
和 dd2(id="dd2")
以及其他输入框。
当页面被访问时,两个 dd 都是可见的。有 dd1 的下拉值,但 dd2 除了“选择一个”之外没有其他值。
从 dd1 中选择一个值。
根据该值确定 dd2 的下拉值。
所以一个 jquery ajax 调用($.get)
被发送到page2.php
。从page2.php
创建一个下拉框(id="dd3")
。并且 ajax 响应替换了 dd2,因此 dd2 的下拉值现在可见。
从 dd2 中选择一个值,并给出其他输入框值。然后手动按下提交按钮,并通过另一个 jquery ajax 调用将数据插入到 db 中。
到目前为止一切正常。
但我想让所有 dds 和输入字段的值成为默认值,即没有选择或给出值。
使用的代码是:$("#id_name").val('');
除了 dd2 之外,我在所有方面(dd1 和输入字段)都取得了成功。
我认为当 dd2 通过 jquery ajax 响应被 id 为 dd3 的元素替换时,page1.php 中的 jQuery 代码无法识别 dd3 的 id 名称,因为在 page2.php 中给出了 id 名称。
使用的代码:$("#dd3").val('');
我也使用过:$("#dd2").val('')
。但是没有成功
如何让 dd2 恢复到默认值?
【问题讨论】:
【参考方案1】:"ajax 响应替换 dd2"
当你已经用其他东西替换了一个元素时,你怎么能改变它?
我的建议是将 dd2 设为 Display:none,然后应用您的逻辑
【讨论】:
一旦你替换了它不再存在的元素......没有办法修改不存在的东西!! 改变?!你是什么意思?假设我想让 dd2 始终可见。即使我将 display:none css 应用于 dd2,这将如何解决问题? page1.php 中的代码会识别 page2.php 中给出的 id 名称吗? @Gaurav Shah,我同时使用了 $("#dd3").val('') 和 $("#dd2").val('') 但没有成功。解决办法是什么? 您是否尝试选择父元素然后向下遍历该元素? @Semyazas,我不清楚你在说什么……这里的父元素是什么?下拉框和输入框一个接一个。以上是关于jquery如何点击页面,使select 的下拉框自动弹出?的主要内容,如果未能解决你的问题,请参考以下文章