如何从复杂的输入名称获取jquery的值

问题描述 投票:1回答:2

这是我的情况:

我试图通过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]"

任何建议或解决方案都会很好!

jquery arrays forms input
2个回答
0
投票

你只需要做的就是......

function queryForm(key) {
   return $('#form input[name="' + key + '"]').val();
}

注意键周围的双引号(“)。


1
投票

你只需要围绕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>
© www.soinside.com 2019 - 2024. All rights reserved.