gpt4 book ai didi

jquery - 如何使用 JQuery 选择属于隐藏表单字段值数组一部分的隐藏表单字段值?

转载 作者:行者123 更新时间:2023-12-01 07:26:45 26 4
gpt4 key购买 nike

我在选择隐藏表单字段值时遇到问题,该值是具有相同名称的隐藏表单字段值数组的一部分。数组的一个元素如下所示:

<input data-val="true" data-val-number="The field ProductId must be a number." data-val-required="The ProductId field is required." id="OrderItemViewModels_2__ProductId" name="OrderItemViewModels[2].ProductId" type="hidden" value="3" />

我尝试在 JQuery 中以几种不同的方式选择它,例如:

$('#OrderItemViewModels[2].ProductId').val());

和..

$('#OrderItemViewModels\\[2\\].ProductId').val());

这两种方法都不起作用。我还尝试了其他一些方法。因此,我尝试了下面的一些建议,希望只打印警报中的值。我尝试过这些:

alert('valueDirect2=' + $('#OrderItemViewModels_2__ProductId')).val();
alert('valueDirect1=' + $('input[name="OrderItemViewModels[2].ProductId"]')).val();

这两种情况都会导致打印 valueDirect2=[Object object]。为什么?这里出了什么问题?

我不知道如何获取这些值。有什么帮助吗?

最佳答案

您是否需要它是动态的,即动态更改选择的输入字段?如果是这样,您需要将一个变量添加到选择器的中间。

如果您像这样修改现有代码,它将起作用:

$('#OrderItemViewModels_2__ProductId').val();

您的两个示例不起作用,因为您正在格式化选择器字符串,类似于 name 属性,但 # 前缀告诉 jQuery 查找 id 属性。

也可以通过名称选择元素,如下所示:

$('input[name="OrderItemViewModels[2].ProductId"]').val();

在您的 alert 示例中,您会看到 [Object object] 因为 jQuery 中的 $ 语法是调用 jQuery 的快捷方式功能。你真正在做的是:

jQuery('input[name="OrderItemViewModels[2].ProductId"]').val();

这只是一个普通的旧函数调用。 S 是一种方便的简写。您正在调用一个函数并传入一个字符串,这是 jQuery 将评估的选择器。

您的选择器没有返回任何内容,因为它的格式不正确,因此您最终打印了 jQuery 函数本身的 .val() 或值。在您对 jQuery 的工作原理有很好的概念掌握之前,这有点令人困惑。

要使选择器动态化,只需将包含要选择的输入编号的变量周围的字符串拼接在一起即可:

$('input[name="OrderItemViewModels[' + myVariable + '].ProductId"]').val();

这是一个jsFiddle这说明了这两个选项。

关于jquery - 如何使用 JQuery 选择属于隐藏表单字段值数组一部分的隐藏表单字段值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028068/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com