JQuery选择器表单元素php数组

发布于 2024-12-09 12:53:22 字数 566 浏览 0 评论 0原文

我正在尝试使用下面的代码来选择表单元素(我检索值以验证文本)

$('#box1 [name=item[]]').val();
$('#box2 [name=item[]]').val();

我正在尝试获取以下值

<form..>
   <div id='box1'> <input type='text' name='item[]'/> </div>
   <div id='box1'> <input type='text' name='item[]'/> </div>
</form>

我需要使用带有方括号[]的“item[]”,因为php可以将这些数据作为数组检索

$data = $_REQUEST['item'];

将返回一个包含“item”中所有数据的数组

问题是 $('#box [name=item[]]').val() 不起作用,我将如何得到它可以工作还是会有另一个方法来做到这一点?

im trying to use the code below to select a form element (i retrieve the values to validate the text)

$('#box1 [name=item[]]').val();
$('#box2 [name=item[]]').val();

i'm trying to get the value of the following

<form..>
   <div id='box1'> <input type='text' name='item[]'/> </div>
   <div id='box1'> <input type='text' name='item[]'/> </div>
</form>

I need to use 'item[]' with the square brackets [ ] because php can retrieve this data as an array

$data = $_REQUEST['item'];

Would return an array containing all the data in 'item'

The problem is the $('#box [name=item[]]').val() doesn't work, how would I get it to work or would there be another way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

分開簡單 2024-12-16 12:53:22

您需要转义 jQuery 选择器中的 [],因为它们具有特殊含义(属性选择器):

$('#box1 [name="item\\[\\]"]').val();
$('#box2 [name="item\\[\\]"]').val();

jQuery 文档状态:

如果您想使用任何元字符(例如 !"#$%&'()*+,./:;<=>?@[]^`{|}~ )作为名称的文字部分,您必须使用两个反斜杠转义字符:\.

You need to escape the [ and ] in the jQuery selector, as they have a special meaning (attribute selectors):

$('#box1 [name="item\\[\\]"]').val();
$('#box2 [name="item\\[\\]"]').val();

jQuery documentation states:

If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;<=>?@[]^`{|}~ ) as a literal part of a name, you must escape the character with two backslashes: \.

十二 2024-12-16 12:53:22

如果你可以给输入一个类名,如“input_item”,然后

$("input.input_item").each(function() {

    // do something with $(this).val()
});

if you could give the inputs a classname like "input_item" and than

$("input.input_item").each(function() {

    // do something with $(this).val()
});
甜宝宝 2024-12-16 12:53:22

尝试 -

$('#box1 input[name="item[]"]').val()

我刚刚在“名称”值周围添加了双引号,并将“输入”选择器添加到选择器值中。

演示 - http://jsfiddle.net/ipr101/JbW5m/

Try -

$('#box1 input[name="item[]"]').val()

I've just added double quotes around the 'name' value and added the 'input' selector to the selector value.

Demo - http://jsfiddle.net/ipr101/JbW5m/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文