javascript - 如何从“选择”标签中选择除隐藏值之外的值?
问题描述
我正在尝试从表单中选择所有值,但隐藏的值除外。但是使用它后的事件会从具有隐藏值input:not([type='hidden']),select,textarea
的标签中选择所有值。select
按下提交按钮时调用的函数:
function getInfoSectionValues($objSection) {
var objValue = {};
$objSection.find(".info, .info-container").find("input:not([type='hidden']),select,textarea").each(function () {
let strKey = ($(this).attr('data-apiname') !== undefined) ? $(this).attr("data-apiname") : $(this).attr("class");
objValue[strKey] = $(this).val();
});
return objValue;
}
<select class="form-control origin" data-apiname= "Origin" id="originId" placeholder="Test1" required="required">
<option value="" class="hidden">Test1</option>
<repeating the values here passed from the server>
</select>
实际的 :
Form1: "Pharmacy"
Origin: "Choose Case Origin"
Priority: "Medium"
Status: "Open"
SubStatus: ""
SubStatusReason: ""
Subject: "
预期的 :
Form1: "Pharmacy"
Origin: ""
Priority: "Medium"
Status: "Open"
SubStatus: ""
SubStatusReason: ""
Subject: "
解决方案
要过滤掉<select>
具有类选项的选项,请hidden
使用:
.find("select:not(:has(.hidden)),textarea")
选择器input:not([type='hidden'])
适用于<input>
不是<input type="hidden">
由于没有提供 html 并且解释很弱......这是对该问题的最佳解释
推荐阅读
- ios - 使用 ApplyFilter 和 CIColorMatrix 过滤器时,表达式类型不明确,没有更多上下文
- javascript - 使用 GAS 重复打印每个数组值
- pandas - pandas 获取所有连续行,直到列值发生变化
- laravel - Laravel:与多个咨询
- hive - 限制 Hive 1.2.1。(HDInsight 3.6) 只运行 SELECT 查询
- python - python 冻结的数据类与 object.__setattr__ 不可变
- date - Google Cloud Healthcare API 按日期搜索 FHIR 资源上的时区返回错误
- angular - 当类以角度使用其他服务时,如何防止在打字稿类的构造函数中传递参数?
- r - 转置 R 中的一些列
- node.js - Neo4j NodeJS - 为现有节点创建可选的一对多关系