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 的下拉框自动弹出?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过JQUERY获得下拉框的显示值

求jquery版的多选树形下拉框的插件(Multiple ComboTree)?

jquery实现html的控件select的缓慢下拉效果

如何利用select2下拉框插件方法限制选框项个数

使用jquery select2实现下拉框搜索功能

jQuery input 下拉框焦点事件