jquery - 如何使用 jquery 从复杂的输入名称中获取值
问题描述
这是我的情况:
我正在尝试从表单的输入中获取价值name="data[type][answer]"
,例如:
<form id="form" method="POST" >
<input type="hidden" name="data[type][answer]" value="Hello from Space">
</form>
因此,我的函数代码应如下所示:
function queryForm(key) {
return $('#form input[name=' + key + ']').val();
}
我得到了input[name=order[type][answer]]
哪些不起作用,我知道为什么。
有没有办法以不同的方式编写这个东西,或者有没有其他方法可以获取价值?顺便说一句,我需要这种形式的名称:name="data[type][answer]"
任何建议或解决方案都会很好!
解决方案
您只需要在值周围加上引号name
。然后你必须从返回的结果中选择第一个结果并用 jquery 再次包装它才能调用.val()
:
function queryForm(key) {
return $("#form input[name='" + key + "']").first()
.val();
}
console.log(queryForm('data[type][answer]'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head></head>
<body>
<form id="form" method="POST" >
<input type="hidden" name="data[type][answer]" value="Hello from Space">
</form>
</body>
</html>
推荐阅读
- firebase - Firebase IDToken 到 Unity 中的 Google OAuth2 访问令牌
- angular - Angular 服务失败
- awk - 如何使用 yq 更改嵌套 YAML 记录中的值
- c# - 按钮设置可见后代码不会反映在 UI 上
- typescript - 在 Jest 中使用 setTimeout 函数测试 vue 组件
- vue.js - vue中的数据绑定不更新
- python - 使用带有 flask_smorest 和/或 marshmallow 的自定义解析器
- yocto - unzip-native 的作用是什么?
- javascript - 根据输入过滤列表
- java - 如何从静态方法访问全局非静态变量