【问题标题】:How do I get the values of classes in jQuery? [duplicate]如何在 jQuery 中获取类的值? [复制]
【发布时间】:2021-03-01 20:55:33
【问题描述】:

console.log($('.package_ids').val());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="hidden" class="package_ids[]" name="package_ids[]" value="6" />
<input type="hidden" class="package_ids[]" name="package_ids[]" value="775" />
<input type="hidden" class="package_ids[]" name="package_ids[]" value="7207" />

将其作为表单提交时,我得到了正确的结果。但是当我使用 jQuery 获得价值时,我得到了undefined

我希望得到类似数组 [6, 775, 7207] 的东西。

【问题讨论】:

标签: javascript jquery


【解决方案1】:

package_ids[] 不能是类名。要获取预期的数组,可以使用.map,如下所示:

const arr = $('.package_ids').map((i,elem) => +$(elem).val()).get();
console.log(arr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="hidden" class="package_ids" name="package_ids[]" value="6"/>
<input type="hidden" class="package_ids" name="package_ids[]" value="775"/>
<input type="hidden" class="package_ids" name="package_ids[]" value="7207"/>

【讨论】:

    【解决方案2】:

    您可以选择具有name 属性的项目,例如

    let values = [];
    $('[name="package_ids[]"]').each(function (i, v) {
      values.push($(v).val());
    });
    console.log(values);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <input type="hidden" class="package_ids[]" name="package_ids[]" value="6" />
    <input type="hidden" class="package_ids[]" name="package_ids[]" value="775" />
    <input type="hidden" class="package_ids[]" name="package_ids[]" value="7207" />

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-19
      • 2018-12-30
      • 2013-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      相关资源
      最近更新 更多