jQuery下拉框,不能使字段值为空

Posted

技术标签:

【中文标题】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下拉框,不能使字段值为空的主要内容,如果未能解决你的问题,请参考以下文章

jsp里,怎么接受下拉框的值?

form 内置字段,数据实时更新,下拉框

Vue设置输入框、下拉框不可修改

“jquery”中怎么让下拉框不能选择?

使用单个搜索框组合文本框和下拉字段的 JQuery 搜索

jquery 操作下拉框 选中某项 怎么写?